summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-12-09 00:21:41 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-12-09 00:21:41 +0000
commitc667c1f47a8ec1acfd6eceb999f8f05793218ca1 (patch)
tree90e81b64ba0ee0c00b7339818de00ac1cd486026 /llvm/test/Bitcode
parent8bd9d6ad838dd6a030f4cfcf691fb54162976e48 (diff)
downloadbcm5719-llvm-c667c1f47a8ec1acfd6eceb999f8f05793218ca1.tar.gz
bcm5719-llvm-c667c1f47a8ec1acfd6eceb999f8f05793218ca1.zip
Hardware-assisted AddressSanitizer (llvm part).
Summary: This is LLVM instrumentation for the new HWASan tool. It is basically a stripped down copy of ASan at this point, w/o stack or global support. Instrumenation adds a global constructor + runtime callbacks for every load and store. HWASan comes with its own IR attribute. A brief design document can be found in clang/docs/HardwareAssistedAddressSanitizerDesign.rst (submitted earlier). Reviewers: kcc, pcc, alekseyshl Subscribers: srhines, mehdi_amini, mgorny, javed.absar, eraman, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D40932 llvm-svn: 320217
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r--llvm/test/Bitcode/attributes.ll11
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/test/Bitcode/attributes.ll b/llvm/test/Bitcode/attributes.ll
index 18aa12c7af9..8c74b3fb36b 100644
--- a/llvm/test/Bitcode/attributes.ll
+++ b/llvm/test/Bitcode/attributes.ll
@@ -204,7 +204,7 @@ define void @f34()
; CHECK: define void @f34()
{
call void @nobuiltin() nobuiltin
-; CHECK: call void @nobuiltin() #34
+; CHECK: call void @nobuiltin() #35
ret void;
}
@@ -339,6 +339,12 @@ define void @f57() speculatable {
ret void
}
+; CHECK: define void @f58() #34
+define void @f58() sanitize_hwaddress
+{
+ ret void;
+}
+
; CHECK: attributes #0 = { noreturn }
; CHECK: attributes #1 = { nounwind }
; CHECK: attributes #2 = { readnone }
@@ -373,4 +379,5 @@ define void @f57() speculatable {
; CHECK: attributes #31 = { allocsize(0,1) }
; CHECK: attributes #32 = { writeonly }
; CHECK: attributes #33 = { speculatable }
-; CHECK: attributes #34 = { nobuiltin }
+; CHECK: attributes #34 = { sanitize_hwaddress }
+; CHECK: attributes #35 = { nobuiltin }
OpenPOWER on IntegriCloud