diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-12-09 00:21:41 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-12-09 00:21:41 +0000 |
commit | c667c1f47a8ec1acfd6eceb999f8f05793218ca1 (patch) | |
tree | 90e81b64ba0ee0c00b7339818de00ac1cd486026 /llvm/test/Bitcode | |
parent | 8bd9d6ad838dd6a030f4cfcf691fb54162976e48 (diff) | |
download | bcm5719-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.ll | 11 |
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 } |