xref: /aosp_15_r20/external/llvm/test/Analysis/BasicAA/unreachable-block.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -basicaa -aa-eval -disable-output < %s >& /dev/null
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; BasicAA shouldn't infinitely recurse on the use-def cycles in
4*9880d681SAndroid Build Coastguard Worker; unreachable code.
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine void @func_2() nounwind {
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker  unreachable
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerbb:
11*9880d681SAndroid Build Coastguard Worker  %t = select i1 undef, i32* %t, i32* undef
12*9880d681SAndroid Build Coastguard Worker  %p = select i1 undef, i32* %p, i32* %p
13*9880d681SAndroid Build Coastguard Worker  %q = select i1 undef, i32* undef, i32* %p
14*9880d681SAndroid Build Coastguard Worker  %a = getelementptr i8, i8* %a, i32 0
15*9880d681SAndroid Build Coastguard Worker  unreachable
16*9880d681SAndroid Build Coastguard Worker}
17