[llvm] r310240 - Add -asan-force-dynamic-shadow test

Kuba Mracek via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 7 13:39:40 PDT 2017


It's a regression test for a recent bug.  The bug was not covered by an existing test.  I want to make sure the bug doesn't reappear.

Kuba

> On 7 Aug 2017, at 13:38, Hans Wennborg <hans at chromium.org> wrote:
> 
> What's the motivation? It seems this just adds a test for
> functionality that landed sime time back?
> 
> On Mon, Aug 7, 2017 at 8:18 AM, Kuba Mracek <mracek at apple.com> wrote:
>> Please merge into release_50.
>> 
>> Thanks,
>> Kuba
>> 
>>> On 7 Aug 2017, at 00:12, Vitaly Buka via llvm-commits <llvm-commits at lists.llvm.org> wrote:
>>> 
>>> Author: vitalybuka
>>> Date: Mon Aug  7 00:12:33 2017
>>> New Revision: 310240
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=310240&view=rev
>>> Log:
>>> Add -asan-force-dynamic-shadow test
>>> 
>>> Added:
>>>   llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll
>>> 
>>> Added: llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll?rev=310240&view=auto
>>> ==============================================================================
>>> --- llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll (added)
>>> +++ llvm/trunk/test/Instrumentation/AddressSanitizer/force-dynamic-shadow.ll Mon Aug  7 00:12:33 2017
>>> @@ -0,0 +1,22 @@
>>> +; Test -asan-force-dynamic-shadow flag.
>>> +;
>>> +; RUN: opt -asan -asan-module -S -asan-force-dynamic-shadow=1 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-FDS
>>> +; RUN: opt -asan -asan-module -S -asan-force-dynamic-shadow=0 < %s | FileCheck %s --check-prefixes=CHECK,CHECK-NDS
>>> +
>>> +target triple = "x86_64-unknown-linux-gnu"
>>> +
>>> +define i32 @test_load(i32* %a) sanitize_address {
>>> +; First instrumentation in the function must be to load the dynamic shadow
>>> +; address into a local variable.
>>> +; CHECK-LABEL: @test_load
>>> +; CHECK: entry:
>>> +; CHECK-FDS-NEXT: %[[SHADOW:[^ ]*]] = load i64, i64* @__asan_shadow_memory_dynamic_address
>>> +; CHECK-NDS-NOT: __asan_shadow_memory_dynamic_address
>>> +
>>> +; Shadow address is loaded and added into the whole offset computation.
>>> +; CHECK-FDS add i64 %{{.*}}, %[[SHADOW] ]
>>> +
>>> +entry:
>>> +  %tmp1 = load i32, i32* %a, align 4
>>> +  ret i32 %tmp1
>>> +}
>>> 
>>> 
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>> 



More information about the llvm-commits mailing list