Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view test/CodeGen/Hexagon/livephysregs-add-pristines.mir @ 128:c347d3398279 default tip
fix
author | mir3636 |
---|---|
date | Wed, 06 Dec 2017 14:37:17 +0900 |
parents | 803732b1fca8 |
children |
line wrap: on
line source
# RUN: llc -march=hexagon -run-pass if-converter -o - %s -verify-machineinstrs | FileCheck %s # The register r23 is live on the path bb.0->bb.2->bb.3. Make sure we add # an implicit use of r23 to the predicated redefinition: # CHECK: %r23 = A2_tfrt killed %p0, killed %r1, implicit killed %r23 # LivePhysRegs::addPristines could accidentally remove a callee-saved # register, if it determined that it wasn't pristine. Doing that caused # r23 in this testcase to be dropped from the Redefs set, and subsequently # the necessary implicit use was not added for it. --- name: foo tracksRegLiveness: true fixedStack: - { id: 0, offset: 0, size: 4, alignment: 4, callee-saved-register: '%r23' } body: | bb.0: successors: %bb.1, %bb.2 liveins: %r0, %r1, %r23 %p0 = C2_cmpgti killed %r0, 0 J2_jumpf killed %p0, %bb.2, implicit-def %pc bb.1: successors: %bb.3 liveins: %r1 %r23 = A2_tfr killed %r1 J2_jump %bb.3, implicit-def %pc bb.2: successors: %bb.3 liveins: %r1, %r23 %r0 = A2_tfr %r1 bb.3: liveins: %r23 ...