| Yury Gribov | 55441bb | 2014-11-21 10:29:50 +0000 | [diff] [blame^] | 1 | ; Test asan internal compiler flags: | 
|  | 2 | ;   -asan-instrument-allocas=1 | 
|  | 3 |  | 
|  | 4 | ; RUN: opt < %s -asan -asan-module -asan-instrument-allocas=1 -S | FileCheck %s --check-prefix=CHECK-ALLOCA | 
|  | 5 | ; RUN: opt < %s -asan -asan-module -asan-instrument-allocas=0 -S | FileCheck %s --check-prefix=CHECK-NOALLOCA | 
|  | 6 | ; RUN: opt < %s -asan -asan-module -S | FileCheck %s --check-prefix=CHECK-NOALLOCA | 
|  | 7 | 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" | 
|  | 8 | target triple = "x86_64-unknown-linux-gnu" | 
|  | 9 |  | 
|  | 10 | define void @foo(i32 %len) sanitize_address { | 
|  | 11 | entry: | 
|  | 12 | ; CHECK-ALLOCA: store i32 -892679478 | 
|  | 13 | ; CHECK-ALLOCA: store i32 -875836469 | 
|  | 14 | ; CHECK-NOALLOCA-NOT: store i32 -892679478 | 
|  | 15 | ; CHECK-NOALLOCA-NOT: store i32 -875836469 | 
|  | 16 | %0 = alloca i32, align 4 | 
|  | 17 | %1 = alloca i8* | 
|  | 18 | store i32 %len, i32* %0, align 4 | 
|  | 19 | %2 = load i32* %0, align 4 | 
|  | 20 | %3 = zext i32 %2 to i64 | 
|  | 21 | %4 = alloca i8, i64 %3, align 32 | 
|  | 22 | ret void | 
|  | 23 | } | 
|  | 24 |  |