xref: /aosp_15_r20/external/llvm/test/Assembler/2002-08-22-DominanceProblem.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as %s -o /dev/null
2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; Dominance relationships is not calculated correctly for unreachable blocks,
5*9880d681SAndroid Build Coastguard Worker; which causes the verifier to barf on this input.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine i32 @test(i1 %b) {
8*9880d681SAndroid Build Coastguard WorkerBB0:
9*9880d681SAndroid Build Coastguard Worker        ret i32 7 ; Loop is unreachable
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard WorkerLoop:           ; preds = %L2, %Loop
12*9880d681SAndroid Build Coastguard Worker        %B = phi i32 [ %B, %L2 ], [ %B, %Loop ]         ;PHI has same value always.
13*9880d681SAndroid Build Coastguard Worker        br i1 %b, label %L2, label %Loop
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard WorkerL2:             ; preds = %Loop
16*9880d681SAndroid Build Coastguard Worker        br label %Loop
17*9880d681SAndroid Build Coastguard Worker}
18*9880d681SAndroid Build Coastguard Worker
19