# RUN: llc -march=x86-64 %s -o - -run-pass=processimpdefs -run-pass=unreachable-mbb-elimination | FileCheck %s --- name: f tracksRegLiveness: true registers: - { id: 0, class: gr32, preferred-register: '' } - { id: 1, class: gr32, preferred-register: '' } - { id: 2, class: gr32, preferred-register: '' } body: | bb.0: %0 = IMPLICIT_DEF JMP_1 %bb.1 bb.1: %1 = PHI %0, %bb.0, %2, %bb.2 %2 = ADD32ri8 killed %1, 1, implicit-def $eflags JMP_1 %bb.3 bb.2: JMP_1 %bb.1 bb.3: ... # bb2 above is dead and should be removed and the PHI should be replaced with a # COPY from an undef value since the bb0 value in the PHI is undef. # CHECK: bb.0: # CHECK: successors: %bb.1 # CHECK: JMP_1 %bb.1 # CHECK: bb.1: # CHECK: successors: %bb.2 # CHECK: [[TMP1:%[0-9]+]]:gr32 = COPY undef %{{[0-9]+}} # CHECK: %{{[0-9]+}}:gr32 = ADD32ri8 killed [[TMP1]], 1 # CHECK: JMP_1 %bb.2 # CHECK: bb.2: