1*9880d681SAndroid Build Coastguard Worker; Test that -inline-threshold overrides thresholds derived from opt levels. 2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -O2 -inline-threshold=500 -S | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -O3 -inline-threshold=500 -S | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -Os -inline-threshold=500 -S | FileCheck %s 5*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -Oz -inline-threshold=500 -S | FileCheck %s 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker@a = global i32 4 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerdefine i32 @simpleFunction(i32 %a) #0 { 10*9880d681SAndroid Build Coastguard Workerentry: 11*9880d681SAndroid Build Coastguard Worker %a1 = load volatile i32, i32* @a 12*9880d681SAndroid Build Coastguard Worker %x1 = add i32 %a1, %a1 13*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %a1, 0 14*9880d681SAndroid Build Coastguard Worker br i1 %cmp, label %if.then, label %if.else 15*9880d681SAndroid Build Coastguard Workerif.then: 16*9880d681SAndroid Build Coastguard Worker %a2 = load volatile i32, i32* @a 17*9880d681SAndroid Build Coastguard Worker %x2_0 = add i32 %x1, %a2 18*9880d681SAndroid Build Coastguard Worker br label %if.else 19*9880d681SAndroid Build Coastguard Workerif.else: 20*9880d681SAndroid Build Coastguard Worker %x2 = phi i32 [ %x1, %entry ], [ %x2_0, %if.then ] 21*9880d681SAndroid Build Coastguard Worker %a3 = load volatile i32, i32* @a 22*9880d681SAndroid Build Coastguard Worker %x3 = add i32 %x2, %a3 23*9880d681SAndroid Build Coastguard Worker %a4 = load volatile i32, i32* @a 24*9880d681SAndroid Build Coastguard Worker %x4 = add i32 %x3, %a4 25*9880d681SAndroid Build Coastguard Worker %a5 = load volatile i32, i32* @a 26*9880d681SAndroid Build Coastguard Worker %x5 = add i32 %x4, %a5 27*9880d681SAndroid Build Coastguard Worker %a6 = load volatile i32, i32* @a 28*9880d681SAndroid Build Coastguard Worker %x6 = add i32 %x5, %a6 29*9880d681SAndroid Build Coastguard Worker %a7 = load volatile i32, i32* @a 30*9880d681SAndroid Build Coastguard Worker %x7 = add i32 %x6, %a7 31*9880d681SAndroid Build Coastguard Worker %a8 = load volatile i32, i32* @a 32*9880d681SAndroid Build Coastguard Worker %x8 = add i32 %x7, %a8 33*9880d681SAndroid Build Coastguard Worker %a9 = load volatile i32, i32* @a 34*9880d681SAndroid Build Coastguard Worker %x9 = add i32 %x8, %a9 35*9880d681SAndroid Build Coastguard Worker %a10 = load volatile i32, i32* @a 36*9880d681SAndroid Build Coastguard Worker %x10 = add i32 %x9, %a10 37*9880d681SAndroid Build Coastguard Worker %a11 = load volatile i32, i32* @a 38*9880d681SAndroid Build Coastguard Worker %x11 = add i32 %x10, %a11 39*9880d681SAndroid Build Coastguard Worker %a12 = load volatile i32, i32* @a 40*9880d681SAndroid Build Coastguard Worker %x12 = add i32 %x11, %a12 41*9880d681SAndroid Build Coastguard Worker %a13 = load volatile i32, i32* @a 42*9880d681SAndroid Build Coastguard Worker %x13 = add i32 %x12, %a13 43*9880d681SAndroid Build Coastguard Worker %a14 = load volatile i32, i32* @a 44*9880d681SAndroid Build Coastguard Worker %x14 = add i32 %x13, %a14 45*9880d681SAndroid Build Coastguard Worker %a15 = load volatile i32, i32* @a 46*9880d681SAndroid Build Coastguard Worker %x15 = add i32 %x14, %a15 47*9880d681SAndroid Build Coastguard Worker %a16 = load volatile i32, i32* @a 48*9880d681SAndroid Build Coastguard Worker %x16 = add i32 %x15, %a16 49*9880d681SAndroid Build Coastguard Worker %a17 = load volatile i32, i32* @a 50*9880d681SAndroid Build Coastguard Worker %x17 = add i32 %x16, %a17 51*9880d681SAndroid Build Coastguard Worker %a18 = load volatile i32, i32* @a 52*9880d681SAndroid Build Coastguard Worker %x18 = add i32 %x17, %a18 53*9880d681SAndroid Build Coastguard Worker %a19 = load volatile i32, i32* @a 54*9880d681SAndroid Build Coastguard Worker %x19 = add i32 %x18, %a19 55*9880d681SAndroid Build Coastguard Worker %a20 = load volatile i32, i32* @a 56*9880d681SAndroid Build Coastguard Worker %x20 = add i32 %x19, %a20 57*9880d681SAndroid Build Coastguard Worker %a21 = load volatile i32, i32* @a 58*9880d681SAndroid Build Coastguard Worker %x21 = add i32 %x20, %a21 59*9880d681SAndroid Build Coastguard Worker %a22 = load volatile i32, i32* @a 60*9880d681SAndroid Build Coastguard Worker %x22 = add i32 %x21, %a22 61*9880d681SAndroid Build Coastguard Worker %a23 = load volatile i32, i32* @a 62*9880d681SAndroid Build Coastguard Worker %x23 = add i32 %x22, %a23 63*9880d681SAndroid Build Coastguard Worker %a24 = load volatile i32, i32* @a 64*9880d681SAndroid Build Coastguard Worker %x24 = add i32 %x23, %a24 65*9880d681SAndroid Build Coastguard Worker %a25 = load volatile i32, i32* @a 66*9880d681SAndroid Build Coastguard Worker %x25 = add i32 %x24, %a25 67*9880d681SAndroid Build Coastguard Worker %a26 = load volatile i32, i32* @a 68*9880d681SAndroid Build Coastguard Worker %x26 = add i32 %x25, %a26 69*9880d681SAndroid Build Coastguard Worker %a27 = load volatile i32, i32* @a 70*9880d681SAndroid Build Coastguard Worker %x27 = add i32 %x26, %a27 71*9880d681SAndroid Build Coastguard Worker %a28 = load volatile i32, i32* @a 72*9880d681SAndroid Build Coastguard Worker %x28 = add i32 %x27, %a28 73*9880d681SAndroid Build Coastguard Worker %a29 = load volatile i32, i32* @a 74*9880d681SAndroid Build Coastguard Worker %x29 = add i32 %x28, %a29 75*9880d681SAndroid Build Coastguard Worker %add = add i32 %x29, %a 76*9880d681SAndroid Build Coastguard Worker ret i32 %add 77*9880d681SAndroid Build Coastguard Worker} 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker; Function Attrs: nounwind readnone uwtable 80*9880d681SAndroid Build Coastguard Workerdefine i32 @bar(i32 %a) #0 { 81*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @bar 82*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: call i32 @simpleFunction(i32 6) 83*9880d681SAndroid Build Coastguard Worker; CHECK: ret 84*9880d681SAndroid Build Coastguard Workerentry: 85*9880d681SAndroid Build Coastguard Worker %i = tail call i32 @simpleFunction(i32 6) 86*9880d681SAndroid Build Coastguard Worker ret i32 %i 87*9880d681SAndroid Build Coastguard Worker} 88*9880d681SAndroid Build Coastguard Worker 89*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind readnone uwtable } 90