1; RUN: split-file %s %t 2; RUN: cat %t/main.ll %t/a.ll > %t/a2.ll 3; RUN: cat %t/main.ll %t/b.ll > %t/b2.ll 4; RUN: llc %t/a2.ll -mtriple=armv7-unknown-linux-gnueabihf -mattr=+read-tp-tpidruro -o - | \ 5; RUN: FileCheck --check-prefixes=CHECK,CHECK-SMALL %s 6; RUN: llc %t/a2.ll -mtriple=thumbv7-unknown-linux-gnueabihf -mattr=+read-tp-tpidruro -o - | \ 7; RUN: FileCheck --check-prefixes=CHECK,CHECK-SMALL %s 8; RUN: llc %t/b2.ll -mtriple=armv7-unknown-linux-gnueabihf -mattr=+read-tp-tpidruro -o - | \ 9; RUN: FileCheck --check-prefixes=CHECK,CHECK-LARGE %s 10; RUN: llc %t/b2.ll -mtriple=thumbv7-unknown-linux-gnueabihf -mattr=+read-tp-tpidruro -o - | \ 11; RUN: FileCheck --check-prefixes=CHECK,CHECK-LARGE %s 12 13;--- main.ll 14declare void @baz(ptr) 15 16define void @foo(i64 %t) sspstrong { 17 %vla = alloca i32, i64 %t, align 4 18 call void @baz(ptr nonnull %vla) 19 ret void 20} 21!llvm.module.flags = !{!1, !2} 22!1 = !{i32 2, !"stack-protector-guard", !"tls"} 23 24;--- a.ll 25!2 = !{i32 2, !"stack-protector-guard-offset", i32 1296} 26 27;--- b.ll 28!2 = !{i32 2, !"stack-protector-guard-offset", i32 4296} 29 30; CHECK: mrc p15, #0, [[REG1:r[0-9]+]], c13, c0, #3 31; CHECK-SMALL-NEXT: ldr{{(\.w)?}} [[REG1]], [[[REG1]], #1296] 32; CHECK-LARGE-NEXT: add{{(\.w)?}} [[REG1]], [[REG1]], #4096 33; CHECK-LARGE-NEXT: ldr{{(\.w)?}} [[REG1]], [[[REG1]], #200] 34; CHECK: bl baz 35; CHECK: mrc p15, #0, [[REG2:r[0-9]+]], c13, c0, #3 36; CHECK-SMALL-NEXT: ldr{{(\.w)?}} [[REG2]], [[[REG2]], #1296] 37; CHECK-LARGE-NEXT: add{{(\.w)?}} [[REG2]], [[REG2]], #4096 38; CHECK-LARGE-NEXT: ldr{{(\.w)?}} [[REG2]], [[[REG2]], #200] 39