mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-26 23:24:34 +00:00
[ASan] Add -asan-module to the ASan .ll tests.
After the -asan pass had been split into -asan (function-level) and -asan-module (module-level) some of the tests have silently stopped working, because they didn't instrument the globals anymore. We've decided to have every test using both passes, irrespective of the presence of globals in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204335 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
; RUN: opt < %s -asan -S | llc -o /dev/null
|
; RUN: opt < %s -asan -asan-module -S | llc -o /dev/null
|
||||||
; The bug manifests as a reg alloc failure:
|
; The bug manifests as a reg alloc failure:
|
||||||
; error: ran out of registers during register allocation
|
; error: ran out of registers during register allocation
|
||||||
; ModuleID = 'z.o'
|
; ModuleID = 'z.o'
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: opt < %s -basicaa -gvn -asan -S | FileCheck %s
|
; RUN: opt < %s -basicaa -gvn -asan -asan-module -S | FileCheck %s
|
||||||
; ASAN conflicts with load widening iff the widened load accesses data out of bounds
|
; ASAN conflicts with load widening iff the widened load accesses data out of bounds
|
||||||
; (while the original unwidened loads do not).
|
; (while the original unwidened loads do not).
|
||||||
; http://code.google.com/p/address-sanitizer/issues/detail?id=20#c1
|
; http://code.google.com/p/address-sanitizer/issues/detail?id=20#c1
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Test basic address sanitizer instrumentation.
|
; Test basic address sanitizer instrumentation.
|
||||||
;
|
;
|
||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; RUN: opt < %s -asan -asan-coverage=1 -S | FileCheck %s --check-prefix=CHECK1
|
; RUN: opt < %s -asan -asan-module -asan-coverage=1 -S | FileCheck %s --check-prefix=CHECK1
|
||||||
; RUN: opt < %s -asan -asan-coverage=2 -S | FileCheck %s --check-prefix=CHECK2
|
; RUN: opt < %s -asan -asan-module -asan-coverage=2 -S | FileCheck %s --check-prefix=CHECK2
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
define void @foo(i32* %a) sanitize_address {
|
define void @foo(i32* %a) sanitize_address {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; This test checks that we are not instrumenting globals
|
; This test checks that we are not instrumenting globals
|
||||||
; that we created ourselves.
|
; that we created ourselves.
|
||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; This test checks that we instrument regular globals, but do not touch
|
||||||
|
; the linkonce_odr ones.
|
||||||
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
; no action should be taken for these globals
|
; no action should be taken for these globals
|
||||||
@v1 = linkonce_odr constant i8 1
|
@global_noinst = linkonce_odr constant [2 x i8] [i8 1, i8 2]
|
||||||
; CHECK-NOT: __asan_register_globals
|
@global_inst = private constant [2 x i8] [i8 1, i8 2]
|
||||||
|
; CHECK-NOT: {{asan_gen.*global_noinst}}
|
||||||
|
; CHECK: {{asan_gen.*global_inst}}
|
||||||
|
; CHECK: @asan.module_ctor
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
; no action should be taken for thread locals
|
; no action should be taken for thread locals
|
||||||
@xxx = thread_local global i32 0, align 4
|
@xxx = thread_local global i32 0, align 4
|
||||||
; CHECK-NOT: __asan_register_globals
|
; CHECK-NOT: {{call.*__asan_register_globals}}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
; RUN: opt < %s -asan -S \
|
; RUN: opt < %s -asan -asan-module -S \
|
||||||
; RUN: -mtriple=i386-unknown-freebsd \
|
; RUN: -mtriple=i386-unknown-freebsd \
|
||||||
; RUN: -default-data-layout="e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128" | \
|
; RUN: -default-data-layout="e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128" | \
|
||||||
; RUN: FileCheck --check-prefix=CHECK-32 %s
|
; RUN: FileCheck --check-prefix=CHECK-32 %s
|
||||||
|
|
||||||
; RUN: opt < %s -asan -S \
|
; RUN: opt < %s -asan -asan-module -S \
|
||||||
; RUN: -mtriple=x86_64-unknown-freebsd \
|
; RUN: -mtriple=x86_64-unknown-freebsd \
|
||||||
; RUN: -default-data-layout="e-m:e-i64:64-f80:128-n8:16:32:64-S128" | \
|
; RUN: -default-data-layout="e-m:e-i64:64-f80:128-n8:16:32:64-S128" | \
|
||||||
; RUN: FileCheck --check-prefix=CHECK-64 %s
|
; RUN: FileCheck --check-prefix=CHECK-64 %s
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
; AddressSanitizer must insert __asan_handle_no_return
|
; AddressSanitizer must insert __asan_handle_no_return
|
||||||
; before every noreturn call or invoke.
|
; before every noreturn call or invoke.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Test that AddressSanitizer instruments "(*a)++" only once.
|
; Test that AddressSanitizer instruments "(*a)++" only once.
|
||||||
; RUN: opt < %s -asan -S -asan-opt=1 | FileCheck %s -check-prefix=OPT1
|
; RUN: opt < %s -asan -asan-module -S -asan-opt=1 | FileCheck %s -check-prefix=OPT1
|
||||||
; RUN: opt < %s -asan -S -asan-opt=0 | FileCheck %s -check-prefix=OPT0
|
; RUN: opt < %s -asan -asan-module -S -asan-opt=0 | FileCheck %s -check-prefix=OPT0
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; Test the -asan-keep-uninstrumented-functions flag: FOO should get cloned
|
; Test the -asan-keep-uninstrumented-functions flag: FOO should get cloned
|
||||||
; RUN: opt < %s -asan -asan-keep-uninstrumented-functions -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -asan-keep-uninstrumented-functions -S | FileCheck %s
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; Test handling of llvm.lifetime intrinsics in UAR mode.
|
; Test handling of llvm.lifetime intrinsics in UAR mode.
|
||||||
; RUN: opt < %s -asan -asan-use-after-return -asan-check-lifetime -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -asan-use-after-return -asan-check-lifetime -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; Test hanlding of llvm.lifetime intrinsics.
|
; Test hanlding of llvm.lifetime intrinsics.
|
||||||
; RUN: opt < %s -asan -asan-check-lifetime -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -asan-check-lifetime -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
; RUN: opt < %s -asan -asan-use-after-return -S | FileCheck --check-prefix=CHECK-UAR %s
|
; RUN: opt < %s -asan -asan-module -asan-use-after-return -S | FileCheck --check-prefix=CHECK-UAR %s
|
||||||
; RUN: opt < %s -asan -S | FileCheck --check-prefix=CHECK-PLAIN %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck --check-prefix=CHECK-PLAIN %s
|
||||||
target datalayout = "e-i64:64-f80:128-s:64-n8:16:32:64-S128"
|
target datalayout = "e-i64:64-f80:128-s:64-n8:16:32:64-S128"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
; Test the ASan's stack layout.
|
; Test the ASan's stack layout.
|
||||||
; More tests in tests/Transforms/Utils/ASanStackFrameLayoutTest.cpp
|
; More tests in tests/Transforms/Utils/ASanStackFrameLayoutTest.cpp
|
||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
|
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
; RUN: opt < %s -asan -S | FileCheck %s
|
; RUN: opt < %s -asan -asan-module -S | FileCheck %s
|
||||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
define i32 @read_4_bytes(i32* %a) sanitize_address {
|
define i32 @read_4_bytes(i32* %a) sanitize_address {
|
||||||
|
Reference in New Issue
Block a user