xref: /aosp_15_r20/external/llvm/test/Analysis/ScalarEvolution/smax.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -analyze -scalar-evolution | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; PR1614
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; CHECK: -->  (%a smax %b)
5*9880d681SAndroid Build Coastguard Worker; CHECK: -->  (%a smax %b smax %c)
6*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: smax
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine i32 @x(i32 %a, i32 %b, i32 %c) {
9*9880d681SAndroid Build Coastguard Worker  %A = icmp sgt i32 %a, %b
10*9880d681SAndroid Build Coastguard Worker  %B = select i1 %A, i32 %a, i32 %b
11*9880d681SAndroid Build Coastguard Worker  %C = icmp sle i32 %c, %B
12*9880d681SAndroid Build Coastguard Worker  %D = select i1 %C, i32 %B, i32 %c
13*9880d681SAndroid Build Coastguard Worker  ret i32 %D
14*9880d681SAndroid Build Coastguard Worker}
15