diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2014-05-08 09:55:24 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2014-05-08 09:55:24 +0000 |
commit | 89329e902ca1dfa2908456907ba1b3ef6d66465a (patch) | |
tree | 7773527a0b7462a4dc670f554618fc33f97db93f /test/Instrumentation | |
parent | 01ce4b98ced7c239bdcdd13506a52d4a0cbbbefe (diff) | |
download | llvm-89329e902ca1dfa2908456907ba1b3ef6d66465a.tar.gz llvm-89329e902ca1dfa2908456907ba1b3ef6d66465a.tar.bz2 llvm-89329e902ca1dfa2908456907ba1b3ef6d66465a.tar.xz |
[asan] Preserve flags in asm instrumentation.
Patch by Yuri Gorshenin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208296 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Instrumentation')
-rw-r--r-- | test/Instrumentation/AddressSanitizer/X86/asm_mov.ll | 40 | ||||
-rw-r--r-- | test/Instrumentation/AddressSanitizer/X86/asm_mov.s | 16 | ||||
-rw-r--r-- | test/Instrumentation/AddressSanitizer/X86/asm_swap_intel.s | 16 |
3 files changed, 36 insertions, 36 deletions
diff --git a/test/Instrumentation/AddressSanitizer/X86/asm_mov.ll b/test/Instrumentation/AddressSanitizer/X86/asm_mov.ll index 94265c2cc7..030af7e0ea 100644 --- a/test/Instrumentation/AddressSanitizer/X86/asm_mov.ll +++ b/test/Instrumentation/AddressSanitizer/X86/asm_mov.ll @@ -4,19 +4,19 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 target triple = "x86_64-unknown-linux-gnu" ; CHECK-LABEL: mov1b -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_load1@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_store1@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp ; CHECK: movb {{.*}}, {{.*}} define void @mov1b(i8* %dst, i8* %src) #0 { @@ -26,19 +26,19 @@ entry: } ; CHECK-LABEL: mov2b -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_load2@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_store2@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp ; CHECK: movw {{.*}}, {{.*}} define void @mov2b(i16* %dst, i16* %src) #0 { @@ -48,19 +48,19 @@ entry: } ; CHECK-LABEL: mov4b -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_load4@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_store4@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp ; CHECK: movl {{.*}}, {{.*}} define void @mov4b(i32* %dst, i32* %src) #0 { @@ -70,19 +70,19 @@ entry: } ; CHECK-LABEL: mov8b -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_load8@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_store8@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp ; CHECK: movq {{.*}}, {{.*}} define void @mov8b(i64* %dst, i64* %src) #0 { @@ -92,19 +92,19 @@ entry: } ; CHECK-LABEL: mov16b -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_load16@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp -; CHECK: subq $128, %rsp +; CHECK: leaq -128(%rsp), %rsp ; CHECK-NEXT: pushq %rdi ; CHECK-NEXT: leaq {{.*}}, %rdi ; CHECK-NEXT: callq __sanitizer_sanitize_store16@PLT ; CHECK-NEXT: popq %rdi -; CHECK-NEXT: addq $128, %rsp +; CHECK-NEXT: leaq 128(%rsp), %rsp ; CHECK: movaps {{.*}}, {{.*}} define void @mov16b(<2 x i64>* %dst, <2 x i64>* %src) #0 { diff --git a/test/Instrumentation/AddressSanitizer/X86/asm_mov.s b/test/Instrumentation/AddressSanitizer/X86/asm_mov.s index a12c6cc5c1..df217c0f59 100644 --- a/test/Instrumentation/AddressSanitizer/X86/asm_mov.s +++ b/test/Instrumentation/AddressSanitizer/X86/asm_mov.s @@ -6,21 +6,21 @@ .type mov1b,@function # CHECK-LABEL: mov1b: # -# CHECK: subq $128, %rsp +# CHECK: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rsi), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_load1@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movb (%rsi), %al # -# CHECK-NEXT: subq $128, %rsp +# CHECK-NEXT: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rdi), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_store1@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movb %al, (%rdi) mov1b: # @mov1b @@ -41,21 +41,21 @@ mov1b: # @mov1b .type mov16b,@function # CHECK-LABEL: mov16b: # -# CHECK: subq $128, %rsp +# CHECK: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rsi), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_load16@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movaps (%rsi), %xmm0 # -# CHECK-NEXT: subq $128, %rsp +# CHECK-NEXT: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rdi), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_store16@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movaps %xmm0, (%rdi) mov16b: # @mov16b diff --git a/test/Instrumentation/AddressSanitizer/X86/asm_swap_intel.s b/test/Instrumentation/AddressSanitizer/X86/asm_swap_intel.s index b56224ce0d..8a6a8d5a74 100644 --- a/test/Instrumentation/AddressSanitizer/X86/asm_swap_intel.s +++ b/test/Instrumentation/AddressSanitizer/X86/asm_swap_intel.s @@ -6,39 +6,39 @@ .type swap,@function # CHECK-LABEL: swap: # -# CHECK: subq $128, %rsp +# CHECK: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rcx), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_load8@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movq (%rcx), %rax # -# CHECK-NEXT: subq $128, %rsp +# CHECK-NEXT: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rdx), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_load8@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movq (%rdx), %rbx # -# CHECK: subq $128, %rsp +# CHECK: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rcx), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_store8@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movq %rbx, (%rcx) # -# CHECK-NEXT: subq $128, %rsp +# CHECK-NEXT: leaq -128(%rsp), %rsp # CHECK-NEXT: pushq %rdi # CHECK-NEXT: leaq (%rdx), %rdi # CHECK-NEXT: callq __sanitizer_sanitize_store8@PLT # CHECK-NEXT: popq %rdi -# CHECK-NEXT: addq $128, %rsp +# CHECK-NEXT: leaq 128(%rsp), %rsp # # CHECK-NEXT: movq %rax, (%rdx) swap: # @swap |