xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/2005-07-07-DeadPHILoop.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -disable-output
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; This example caused instcombine to spin into an infinite loop.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine void @test(i32* %P) {
6*9880d681SAndroid Build Coastguard Worker        ret void
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard WorkerDead:           ; preds = %Dead
9*9880d681SAndroid Build Coastguard Worker        %X = phi i32 [ %Y, %Dead ]              ; <i32> [#uses=1]
10*9880d681SAndroid Build Coastguard Worker        %Y = sdiv i32 %X, 10            ; <i32> [#uses=2]
11*9880d681SAndroid Build Coastguard Worker        store i32 %Y, i32* %P
12*9880d681SAndroid Build Coastguard Worker        br label %Dead
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15