mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
fd321f0647
This patch changes the DFSan instrumentation for aarch64 to instead of using fixes application mask defined by SANITIZER_AARCH64_VMA to read the application shadow mask value from compiler-rt. The value is initialized based on runtime VAM detection. Along with this patch a compiler-rt one will also be added to export the shadow mask variable. llvm-svn: 254196
15 lines
434 B
LLVM
15 lines
434 B
LLVM
; RUN: opt < %s -dfsan -S | FileCheck %s
|
|
target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
|
|
target triple = "aarch64-unknown-linux-gnu"
|
|
|
|
define i32 @test(i32 %a, i32* nocapture readonly %b) #0 {
|
|
; CHECK: @"dfs$test"
|
|
; CHECK: %[[RV:.*]] load{{.*}}__dfsan_shadow_ptr_mask
|
|
; CHECK: ptrtoint i32* {{.*}} to i64
|
|
; CHECK: and {{.*}}%[[RV:.*]]
|
|
; CHECK: mul i64
|
|
%1 = load i32, i32* %b, align 4
|
|
%2 = add nsw i32 %1, %a
|
|
ret i32 %2
|
|
}
|