1 define i32 @fn(i8* %str) #0 {
3 %str.addr = alloca i8*, align 4
4 %buffer = alloca [65536 x i8], align 1
5 store i8* %str, i8** %str.addr, align 4
6 %arraydecay = getelementptr inbounds [65536 x i8], [65536 x i8]* %buffer, i32 0, i32 0
7 %0 = load i8*, i8** %str.addr, align 4
8 %call = call i8* @strcpy(i8* %arraydecay, i8* %0)
9 %arraydecay1 = getelementptr inbounds [65536 x i8], [65536 x i8]* %buffer, i32 0, i32 0
10 %call2 = call i32 @puts(i8* %arraydecay1)
11 %arrayidx = getelementptr inbounds [65536 x i8], [65536 x i8]* %buffer, i32 0, i32 65535
12 %1 = load i8, i8* %arrayidx, align 1
13 %conv = zext i8 %1 to i32
17 declare i8* @strcpy(i8*, i8*)
19 declare i32 @puts(i8*)
21 attributes #0 = { noinline nounwind optnone ssp }
23 !llvm.module.flags = !{!0}
24 !0 = !{i32 7, !"direct-access-external-data", i32 1}