Home | History | Annotate | Download | only in X86
      1 # RUN: llc -march=x86-64 %s -o - -run-pass=processimpdefs -run-pass=unreachable-mbb-elimination | FileCheck %s
      2 ---
      3 name:            f
      4 tracksRegLiveness: true
      5 registers:
      6   - { id: 0, class: gr32, preferred-register: '' }
      7   - { id: 1, class: gr32, preferred-register: '' }
      8   - { id: 2, class: gr32, preferred-register: '' }
      9 body:             |
     10   bb.0:
     11     %0 = IMPLICIT_DEF
     12     JMP_1 %bb.1
     13 
     14   bb.1:
     15     %1 = PHI %0, %bb.0, %2, %bb.2
     16     %2 = ADD32ri8 killed %1, 1, implicit-def $eflags
     17     JMP_1 %bb.3
     18 
     19   bb.2:
     20     JMP_1 %bb.1
     21 
     22   bb.3:
     23 ...
     24 
     25 # bb2 above is dead and should be removed and the PHI should be replaced with a
     26 # COPY from an undef value since the bb0 value in the PHI is undef.
     27 
     28 # CHECK:  bb.0:
     29 # CHECK:    successors: %bb.1
     30 # CHECK:    JMP_1 %bb.1
     31 
     32 # CHECK:  bb.1:
     33 # CHECK:    successors: %bb.2
     34 # CHECK:    [[TMP1:%[0-9]+]]:gr32 = COPY undef %{{[0-9]+}}
     35 # CHECK:    %{{[0-9]+}}:gr32 = ADD32ri8 killed [[TMP1]], 1
     36 # CHECK:    JMP_1 %bb.2
     37 
     38 # CHECK:  bb.2:
     39