[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / Hexagon / regalloc-coal-fullreg-undef.mir
blobfac59950b1bc38409160acd92d019d7802e3bb04
1 # RUN: llc -march=hexagon -run-pass=register-coalescer -o - %s | FileCheck %s
3 # Make sure that the coalescer does not create a full definition with
4 # an undef flag on the destination. This used to happen when rematerializing
5 # a double register and coalescing a smaller reg into a subreg of it.
7 # CHECK-NOT: undef %[0-9]+:doubleregs = A2_tfrpi 1
9 ---
10 name: fred
11 tracksRegLiveness: true
12 body: |
14   bb.0:
15     successors: %bb.1(0x80000000); %bb.1(200.00%)
17     %18:doubleregs = A2_tfrpi 1
18     %23:intregs = IMPLICIT_DEF
19     %24:doubleregs = IMPLICIT_DEF
21   bb.1:
22     successors: %bb.1(0x80000000); %bb.1(200.00%)
24     %1:doubleregs = COPY %24:doubleregs
25     %0:intregs = COPY %23:intregs
26     %13:intregs = COPY %18.isub_lo:doubleregs
27     %13:intregs = S2_asl_i_r_or %13:intregs, %0:intregs, 1
28     %15:intregs = S2_extractu %0:intregs, 1, 31
29     undef %17.isub_lo:doubleregs = COPY %13:intregs
30     %17.isub_hi:doubleregs = COPY %15:intregs
31     %2:doubleregs = A2_addp %17:doubleregs, %1:doubleregs
32     %3:intregs = A2_addi %0:intregs, -1
33     %23:intregs = COPY %3:intregs
34     %24:doubleregs = COPY %2:doubleregs
35     J2_jump %bb.1, implicit-def dead $pc
37 ...