[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / CodeGen / Inputs / stack-guard-reassign.ll
blob5829b2562e7bba8a37b6603faafc17d2a1635942
1 define i32 @fn(i8* %str) #0 {
2 entry:
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
14   ret i32 %conv
17 declare i8* @strcpy(i8*, i8*)
19 declare i32 @puts(i8*)
21 attributes #0 = { noinline nounwind optnone ssp }