1*9880d681SAndroid Build Coastguard Worker; Test that -disable-simplify-libcalls is wired up correctly. 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -disable-simplify-libcalls -S | FileCheck %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker@.str = constant [1 x i8] zeroinitializer, align 1 8*9880d681SAndroid Build Coastguard Worker@.str1 = constant [13 x i8] c"hello, world\00", align 1 9*9880d681SAndroid Build Coastguard Worker@.str2 = constant [4 x i8] c"foo\00", align 1 10*9880d681SAndroid Build Coastguard Worker@.str3 = constant [4 x i8] c"bar\00", align 1 11*9880d681SAndroid Build Coastguard Worker@.str4 = constant [6 x i8] c"123.4\00", align 1 12*9880d681SAndroid Build Coastguard Worker@.str5 = constant [5 x i8] c"1234\00", align 1 13*9880d681SAndroid Build Coastguard Worker@empty = constant [1 x i8] c"\00", align 1 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdeclare double @ceil(double) 16*9880d681SAndroid Build Coastguard Workerdeclare double @copysign(double, double) 17*9880d681SAndroid Build Coastguard Workerdeclare double @cos(double) 18*9880d681SAndroid Build Coastguard Workerdeclare double @fabs(double) 19*9880d681SAndroid Build Coastguard Workerdeclare double @floor(double) 20*9880d681SAndroid Build Coastguard Workerdeclare i8* @strcat(i8*, i8*) 21*9880d681SAndroid Build Coastguard Workerdeclare i8* @strncat(i8*, i8*, i32) 22*9880d681SAndroid Build Coastguard Workerdeclare i8* @strchr(i8*, i32) 23*9880d681SAndroid Build Coastguard Workerdeclare i8* @strrchr(i8*, i32) 24*9880d681SAndroid Build Coastguard Workerdeclare i32 @strcmp(i8*, i8*) 25*9880d681SAndroid Build Coastguard Workerdeclare i32 @strncmp(i8*, i8*, i64) 26*9880d681SAndroid Build Coastguard Workerdeclare i8* @strcpy(i8*, i8*) 27*9880d681SAndroid Build Coastguard Workerdeclare i8* @stpcpy(i8*, i8*) 28*9880d681SAndroid Build Coastguard Workerdeclare i8* @strncpy(i8*, i8*, i64) 29*9880d681SAndroid Build Coastguard Workerdeclare i64 @strlen(i8*) 30*9880d681SAndroid Build Coastguard Workerdeclare i8* @strpbrk(i8*, i8*) 31*9880d681SAndroid Build Coastguard Workerdeclare i64 @strspn(i8*, i8*) 32*9880d681SAndroid Build Coastguard Workerdeclare double @strtod(i8*, i8**) 33*9880d681SAndroid Build Coastguard Workerdeclare float @strtof(i8*, i8**) 34*9880d681SAndroid Build Coastguard Workerdeclare x86_fp80 @strtold(i8*, i8**) 35*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtol(i8*, i8**, i32) 36*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtoll(i8*, i8**, i32) 37*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtoul(i8*, i8**, i32) 38*9880d681SAndroid Build Coastguard Workerdeclare i64 @strtoull(i8*, i8**, i32) 39*9880d681SAndroid Build Coastguard Workerdeclare i64 @strcspn(i8*, i8*) 40*9880d681SAndroid Build Coastguard Workerdeclare i32 @abs(i32) 41*9880d681SAndroid Build Coastguard Workerdeclare i32 @ffs(i32) 42*9880d681SAndroid Build Coastguard Workerdeclare i32 @ffsl(i64) 43*9880d681SAndroid Build Coastguard Workerdeclare i32 @ffsll(i64) 44*9880d681SAndroid Build Coastguard Workerdeclare i32 @fprintf(i8*, i8*) 45*9880d681SAndroid Build Coastguard Workerdeclare i32 @isascii(i32) 46*9880d681SAndroid Build Coastguard Workerdeclare i32 @isdigit(i32) 47*9880d681SAndroid Build Coastguard Workerdeclare i32 @toascii(i32) 48*9880d681SAndroid Build Coastguard Workerdeclare i64 @labs(i64) 49*9880d681SAndroid Build Coastguard Workerdeclare i64 @llabs(i64) 50*9880d681SAndroid Build Coastguard Workerdeclare i32 @printf(i8*) 51*9880d681SAndroid Build Coastguard Workerdeclare i32 @sprintf(i8*, i8*) 52*9880d681SAndroid Build Coastguard Worker 53*9880d681SAndroid Build Coastguard Workerdefine double @t1(double %x) { 54*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t1( 55*9880d681SAndroid Build Coastguard Worker %ret = call double @ceil(double %x) 56*9880d681SAndroid Build Coastguard Worker ret double %ret 57*9880d681SAndroid Build Coastguard Worker; CHECK: call double @ceil 58*9880d681SAndroid Build Coastguard Worker} 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerdefine double @t2(double %x, double %y) { 61*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t2( 62*9880d681SAndroid Build Coastguard Worker %ret = call double @copysign(double %x, double %y) 63*9880d681SAndroid Build Coastguard Worker ret double %ret 64*9880d681SAndroid Build Coastguard Worker; CHECK: call double @copysign 65*9880d681SAndroid Build Coastguard Worker} 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Workerdefine double @t3(double %x) { 68*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t3( 69*9880d681SAndroid Build Coastguard Worker %call = call double @cos(double %x) 70*9880d681SAndroid Build Coastguard Worker ret double %call 71*9880d681SAndroid Build Coastguard Worker; CHECK: call double @cos 72*9880d681SAndroid Build Coastguard Worker} 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Workerdefine double @t4(double %x) { 75*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t4( 76*9880d681SAndroid Build Coastguard Worker %ret = call double @fabs(double %x) 77*9880d681SAndroid Build Coastguard Worker ret double %ret 78*9880d681SAndroid Build Coastguard Worker; CHECK: call double @fabs 79*9880d681SAndroid Build Coastguard Worker} 80*9880d681SAndroid Build Coastguard Worker 81*9880d681SAndroid Build Coastguard Workerdefine double @t5(double %x) { 82*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t5( 83*9880d681SAndroid Build Coastguard Worker %ret = call double @floor(double %x) 84*9880d681SAndroid Build Coastguard Worker ret double %ret 85*9880d681SAndroid Build Coastguard Worker; CHECK: call double @floor 86*9880d681SAndroid Build Coastguard Worker} 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Workerdefine i8* @t6(i8* %x) { 89*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t6( 90*9880d681SAndroid Build Coastguard Worker %empty = getelementptr [1 x i8], [1 x i8]* @empty, i32 0, i32 0 91*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strcat(i8* %x, i8* %empty) 92*9880d681SAndroid Build Coastguard Worker ret i8* %ret 93*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strcat 94*9880d681SAndroid Build Coastguard Worker} 95*9880d681SAndroid Build Coastguard Worker 96*9880d681SAndroid Build Coastguard Workerdefine i8* @t7(i8* %x) { 97*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t7( 98*9880d681SAndroid Build Coastguard Worker %empty = getelementptr [1 x i8], [1 x i8]* @empty, i32 0, i32 0 99*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strncat(i8* %x, i8* %empty, i32 1) 100*9880d681SAndroid Build Coastguard Worker ret i8* %ret 101*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strncat 102*9880d681SAndroid Build Coastguard Worker} 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Workerdefine i8* @t8() { 105*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t8( 106*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0 107*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strchr(i8* %x, i32 119) 108*9880d681SAndroid Build Coastguard Worker ret i8* %ret 109*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strchr 110*9880d681SAndroid Build Coastguard Worker} 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard Workerdefine i8* @t9() { 113*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t9( 114*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0 115*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strrchr(i8* %x, i32 119) 116*9880d681SAndroid Build Coastguard Worker ret i8* %ret 117*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strrchr 118*9880d681SAndroid Build Coastguard Worker} 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Workerdefine i32 @t10() { 121*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t10( 122*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0 123*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str3, i32 0, i32 0 124*9880d681SAndroid Build Coastguard Worker %ret = call i32 @strcmp(i8* %x, i8* %y) 125*9880d681SAndroid Build Coastguard Worker ret i32 %ret 126*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @strcmp 127*9880d681SAndroid Build Coastguard Worker} 128*9880d681SAndroid Build Coastguard Worker 129*9880d681SAndroid Build Coastguard Workerdefine i32 @t11() { 130*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t11( 131*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0 132*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str3, i32 0, i32 0 133*9880d681SAndroid Build Coastguard Worker %ret = call i32 @strncmp(i8* %x, i8* %y, i64 3) 134*9880d681SAndroid Build Coastguard Worker ret i32 %ret 135*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @strncmp 136*9880d681SAndroid Build Coastguard Worker} 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Workerdefine i8* @t12(i8* %x) { 139*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t12( 140*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0 141*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strcpy(i8* %x, i8* %y) 142*9880d681SAndroid Build Coastguard Worker ret i8* %ret 143*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strcpy 144*9880d681SAndroid Build Coastguard Worker} 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Workerdefine i8* @t13(i8* %x) { 147*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t13( 148*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0 149*9880d681SAndroid Build Coastguard Worker %ret = call i8* @stpcpy(i8* %x, i8* %y) 150*9880d681SAndroid Build Coastguard Worker ret i8* %ret 151*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @stpcpy 152*9880d681SAndroid Build Coastguard Worker} 153*9880d681SAndroid Build Coastguard Worker 154*9880d681SAndroid Build Coastguard Workerdefine i8* @t14(i8* %x) { 155*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t14( 156*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0 157*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strncpy(i8* %x, i8* %y, i64 3) 158*9880d681SAndroid Build Coastguard Worker ret i8* %ret 159*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strncpy 160*9880d681SAndroid Build Coastguard Worker} 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Workerdefine i64 @t15() { 163*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t15( 164*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [4 x i8], [4 x i8]* @.str2, i32 0, i32 0 165*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strlen(i8* %x) 166*9880d681SAndroid Build Coastguard Worker ret i64 %ret 167*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strlen 168*9880d681SAndroid Build Coastguard Worker} 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Workerdefine i8* @t16(i8* %x) { 171*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t16( 172*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [1 x i8], [1 x i8]* @.str, i32 0, i32 0 173*9880d681SAndroid Build Coastguard Worker %ret = call i8* @strpbrk(i8* %x, i8* %y) 174*9880d681SAndroid Build Coastguard Worker ret i8* %ret 175*9880d681SAndroid Build Coastguard Worker; CHECK: call i8* @strpbrk 176*9880d681SAndroid Build Coastguard Worker} 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Workerdefine i64 @t17(i8* %x) { 179*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t17( 180*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [1 x i8], [1 x i8]* @.str, i32 0, i32 0 181*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strspn(i8* %x, i8* %y) 182*9880d681SAndroid Build Coastguard Worker ret i64 %ret 183*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strspn 184*9880d681SAndroid Build Coastguard Worker} 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Workerdefine double @t18(i8** %y) { 187*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t18( 188*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [6 x i8], [6 x i8]* @.str4, i64 0, i64 0 189*9880d681SAndroid Build Coastguard Worker %ret = call double @strtod(i8* %x, i8** %y) 190*9880d681SAndroid Build Coastguard Worker ret double %ret 191*9880d681SAndroid Build Coastguard Worker; CHECK: call double @strtod 192*9880d681SAndroid Build Coastguard Worker} 193*9880d681SAndroid Build Coastguard Worker 194*9880d681SAndroid Build Coastguard Workerdefine float @t19(i8** %y) { 195*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t19( 196*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [6 x i8], [6 x i8]* @.str4, i64 0, i64 0 197*9880d681SAndroid Build Coastguard Worker %ret = call float @strtof(i8* %x, i8** %y) 198*9880d681SAndroid Build Coastguard Worker ret float %ret 199*9880d681SAndroid Build Coastguard Worker; CHECK: call float @strtof 200*9880d681SAndroid Build Coastguard Worker} 201*9880d681SAndroid Build Coastguard Worker 202*9880d681SAndroid Build Coastguard Workerdefine x86_fp80 @t20(i8** %y) { 203*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t20( 204*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [6 x i8], [6 x i8]* @.str4, i64 0, i64 0 205*9880d681SAndroid Build Coastguard Worker %ret = call x86_fp80 @strtold(i8* %x, i8** %y) 206*9880d681SAndroid Build Coastguard Worker ret x86_fp80 %ret 207*9880d681SAndroid Build Coastguard Worker; CHECK: call x86_fp80 @strtold 208*9880d681SAndroid Build Coastguard Worker} 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Workerdefine i64 @t21(i8** %y) { 211*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t21( 212*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0 213*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strtol(i8* %x, i8** %y, i32 10) 214*9880d681SAndroid Build Coastguard Worker ret i64 %ret 215*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtol 216*9880d681SAndroid Build Coastguard Worker} 217*9880d681SAndroid Build Coastguard Worker 218*9880d681SAndroid Build Coastguard Workerdefine i64 @t22(i8** %y) { 219*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t22( 220*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0 221*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strtoll(i8* %x, i8** %y, i32 10) 222*9880d681SAndroid Build Coastguard Worker ret i64 %ret 223*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtoll 224*9880d681SAndroid Build Coastguard Worker} 225*9880d681SAndroid Build Coastguard Worker 226*9880d681SAndroid Build Coastguard Workerdefine i64 @t23(i8** %y) { 227*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t23( 228*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0 229*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strtoul(i8* %x, i8** %y, i32 10) 230*9880d681SAndroid Build Coastguard Worker ret i64 %ret 231*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtoul 232*9880d681SAndroid Build Coastguard Worker} 233*9880d681SAndroid Build Coastguard Worker 234*9880d681SAndroid Build Coastguard Workerdefine i64 @t24(i8** %y) { 235*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t24( 236*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [5 x i8], [5 x i8]* @.str5, i64 0, i64 0 237*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strtoull(i8* %x, i8** %y, i32 10) 238*9880d681SAndroid Build Coastguard Worker ret i64 %ret 239*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strtoull 240*9880d681SAndroid Build Coastguard Worker} 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Workerdefine i64 @t25(i8* %y) { 243*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t25( 244*9880d681SAndroid Build Coastguard Worker %x = getelementptr [1 x i8], [1 x i8]* @empty, i32 0, i32 0 245*9880d681SAndroid Build Coastguard Worker %ret = call i64 @strcspn(i8* %x, i8* %y) 246*9880d681SAndroid Build Coastguard Worker ret i64 %ret 247*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @strcspn 248*9880d681SAndroid Build Coastguard Worker} 249*9880d681SAndroid Build Coastguard Worker 250*9880d681SAndroid Build Coastguard Workerdefine i32 @t26(i32 %y) { 251*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t26( 252*9880d681SAndroid Build Coastguard Worker %ret = call i32 @abs(i32 %y) 253*9880d681SAndroid Build Coastguard Worker ret i32 %ret 254*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @abs 255*9880d681SAndroid Build Coastguard Worker} 256*9880d681SAndroid Build Coastguard Worker 257*9880d681SAndroid Build Coastguard Workerdefine i32 @t27(i32 %y) { 258*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t27( 259*9880d681SAndroid Build Coastguard Worker %ret = call i32 @ffs(i32 %y) 260*9880d681SAndroid Build Coastguard Worker ret i32 %ret 261*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @ffs 262*9880d681SAndroid Build Coastguard Worker} 263*9880d681SAndroid Build Coastguard Worker 264*9880d681SAndroid Build Coastguard Workerdefine i32 @t28(i64 %y) { 265*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t28( 266*9880d681SAndroid Build Coastguard Worker %ret = call i32 @ffsl(i64 %y) 267*9880d681SAndroid Build Coastguard Worker ret i32 %ret 268*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @ffsl 269*9880d681SAndroid Build Coastguard Worker} 270*9880d681SAndroid Build Coastguard Worker 271*9880d681SAndroid Build Coastguard Workerdefine i32 @t29(i64 %y) { 272*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t29( 273*9880d681SAndroid Build Coastguard Worker %ret = call i32 @ffsll(i64 %y) 274*9880d681SAndroid Build Coastguard Worker ret i32 %ret 275*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @ffsll 276*9880d681SAndroid Build Coastguard Worker} 277*9880d681SAndroid Build Coastguard Worker 278*9880d681SAndroid Build Coastguard Workerdefine void @t30() { 279*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t30( 280*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0 281*9880d681SAndroid Build Coastguard Worker call i32 @fprintf(i8* null, i8* %x) 282*9880d681SAndroid Build Coastguard Worker ret void 283*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @fprintf 284*9880d681SAndroid Build Coastguard Worker} 285*9880d681SAndroid Build Coastguard Worker 286*9880d681SAndroid Build Coastguard Workerdefine i32 @t31(i32 %y) { 287*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t31( 288*9880d681SAndroid Build Coastguard Worker %ret = call i32 @isascii(i32 %y) 289*9880d681SAndroid Build Coastguard Worker ret i32 %ret 290*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @isascii 291*9880d681SAndroid Build Coastguard Worker} 292*9880d681SAndroid Build Coastguard Worker 293*9880d681SAndroid Build Coastguard Workerdefine i32 @t32(i32 %y) { 294*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t32( 295*9880d681SAndroid Build Coastguard Worker %ret = call i32 @isdigit(i32 %y) 296*9880d681SAndroid Build Coastguard Worker ret i32 %ret 297*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @isdigit 298*9880d681SAndroid Build Coastguard Worker} 299*9880d681SAndroid Build Coastguard Worker 300*9880d681SAndroid Build Coastguard Workerdefine i32 @t33(i32 %y) { 301*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t33( 302*9880d681SAndroid Build Coastguard Worker %ret = call i32 @toascii(i32 %y) 303*9880d681SAndroid Build Coastguard Worker ret i32 %ret 304*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @toascii 305*9880d681SAndroid Build Coastguard Worker} 306*9880d681SAndroid Build Coastguard Worker 307*9880d681SAndroid Build Coastguard Workerdefine i64 @t34(i64 %y) { 308*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t34( 309*9880d681SAndroid Build Coastguard Worker %ret = call i64 @labs(i64 %y) 310*9880d681SAndroid Build Coastguard Worker ret i64 %ret 311*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @labs 312*9880d681SAndroid Build Coastguard Worker} 313*9880d681SAndroid Build Coastguard Worker 314*9880d681SAndroid Build Coastguard Workerdefine i64 @t35(i64 %y) { 315*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t35( 316*9880d681SAndroid Build Coastguard Worker %ret = call i64 @llabs(i64 %y) 317*9880d681SAndroid Build Coastguard Worker ret i64 %ret 318*9880d681SAndroid Build Coastguard Worker; CHECK: call i64 @llabs 319*9880d681SAndroid Build Coastguard Worker} 320*9880d681SAndroid Build Coastguard Worker 321*9880d681SAndroid Build Coastguard Workerdefine void @t36() { 322*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t36( 323*9880d681SAndroid Build Coastguard Worker %x = getelementptr inbounds [1 x i8], [1 x i8]* @empty, i32 0, i32 0 324*9880d681SAndroid Build Coastguard Worker call i32 @printf(i8* %x) 325*9880d681SAndroid Build Coastguard Worker ret void 326*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @printf 327*9880d681SAndroid Build Coastguard Worker} 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Workerdefine void @t37(i8* %x) { 330*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t37( 331*9880d681SAndroid Build Coastguard Worker %y = getelementptr inbounds [13 x i8], [13 x i8]* @.str1, i32 0, i32 0 332*9880d681SAndroid Build Coastguard Worker call i32 @sprintf(i8* %x, i8* %y) 333*9880d681SAndroid Build Coastguard Worker ret void 334*9880d681SAndroid Build Coastguard Worker; CHECK: call i32 @sprintf 335*9880d681SAndroid Build Coastguard Worker} 336