diff options
| author | Martin Storsjo <martin@martin.st> | 2019-07-07 18:57:31 +0000 |
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2019-07-07 18:57:31 +0000 |
| commit | 8d9d290d4c0752626374dc681a3417113e08c862 (patch) | |
| tree | 97c8ed3653ffafd42e80afd5000388af2838e317 /llvm/test/CodeGen | |
| parent | 842f55f3efe4bdc108a566ab41bfe7ce9d6be329 (diff) | |
| download | bcm5719-llvm-8d9d290d4c0752626374dc681a3417113e08c862.tar.gz bcm5719-llvm-8d9d290d4c0752626374dc681a3417113e08c862.zip | |
[ARM] Add support for MSVC stack cookie checking
Heavily based on the same for AArch64, from SVN r346469.
Differential Revision: https://reviews.llvm.org/D64292
llvm-svn: 365283
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/ARM/Windows/stack-protector-msvc.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/Windows/stack-protector-msvc.ll b/llvm/test/CodeGen/ARM/Windows/stack-protector-msvc.ll new file mode 100644 index 00000000000..3a38aa01b2a --- /dev/null +++ b/llvm/test/CodeGen/ARM/Windows/stack-protector-msvc.ll @@ -0,0 +1,20 @@ +; RUN: llc -mtriple=thumbv7-windows-msvc < %s -o - | FileCheck --check-prefix=MSVC %s +; RUN: llc -mtriple=thumbv7-windows-msvc -O0 < %s -o - | FileCheck --check-prefix=MSVC %s + +define void @_Z1fv() sspreq { +entry: + %x = alloca i32, align 4 + %0 = bitcast i32* %x to i8* + call void @_Z7CapturePi(i32* nonnull %x) + ret void +} + +declare void @_Z7CapturePi(i32*) + +; MSVC: movw r0, :lower16:__security_cookie +; MSVC: movt r0, :upper16:__security_cookie +; MSVC: ldr r0, [r0] +; MSVC: str r0, [sp, #4] +; MSVC: bl _Z7CapturePi +; MSVC: ldr r0, [sp, #4] +; MSVC: bl __security_check_cookie |

