brintos

brintos / llvm-project-archived public Read only

0
0
Text · 801 B · 9e09edc Raw
25 lines · plain
1define i32 @fn(ptr %str) #0 {2entry:3  %str.addr = alloca ptr, align 44  %buffer = alloca [65536 x i8], align 15  store ptr %str, ptr %str.addr, align 46  %arraydecay = getelementptr inbounds [65536 x i8], ptr %buffer, i32 0, i32 07  %0 = load ptr, ptr %str.addr, align 48  %call = call ptr @strcpy(ptr %arraydecay, ptr %0)9  %arraydecay1 = getelementptr inbounds [65536 x i8], ptr %buffer, i32 0, i32 010  %call2 = call i32 @puts(ptr %arraydecay1)11  %arrayidx = getelementptr inbounds [65536 x i8], ptr %buffer, i32 0, i32 6553512  %1 = load i8, ptr %arrayidx, align 113  %conv = zext i8 %1 to i3214  ret i32 %conv15}16 17declare ptr @strcpy(ptr, ptr)18 19declare i32 @puts(ptr)20 21attributes #0 = { noinline nounwind optnone ssp }22 23!llvm.module.flags = !{!0}24!0 = !{i32 7, !"direct-access-external-data", i32 1}25