Unify clang/llvm attributes for asan/tsan/msan (LLVM part)
authorKostya Serebryany <kcc@google.com>
Tue, 26 Feb 2013 06:58:09 +0000 (06:58 +0000)
committerKostya Serebryany <kcc@google.com>
Tue, 26 Feb 2013 06:58:09 +0000 (06:58 +0000)
commit8eec41fc778e99d42172a7f6de76faa43a6d8847
treea6b89a9fb83eab1457104a996ea7798c9068ec10
parentce522ee0a27062390f13e7ccb53fcff4fc36c473
Unify clang/llvm attributes for asan/tsan/msan (LLVM part)

These are two related changes (one in llvm, one in clang).
LLVM:
- rename address_safety => sanitize_address (the enum value is the same, so we preserve binary compatibility with old bitcode)
- rename thread_safety => sanitize_thread
- rename no_uninitialized_checks -> sanitize_memory

CLANG:
- add __attribute__((no_sanitize_address)) as a synonym for __attribute__((no_address_safety_analysis))
- add __attribute__((no_sanitize_thread))
- add __attribute__((no_sanitize_memory))

for S in address thread memory
If -fsanitize=S is present and __attribute__((no_sanitize_S)) is not
set llvm attribute sanitize_S

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176075 91177308-0d34-0410-b5e6-96231b3b80d8
25 files changed:
docs/LangRef.rst
include/llvm/IR/Attributes.h
lib/Analysis/MemoryDependenceAnalysis.cpp
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLToken.h
lib/IR/Attributes.cpp
lib/IR/Verifier.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp
test/Bitcode/attributes.ll
test/CodeGen/X86/crash.ll
test/Instrumentation/AddressSanitizer/X86/bug_11395.ll
test/Instrumentation/AddressSanitizer/asan-vs-gvn.ll
test/Instrumentation/AddressSanitizer/basic.ll
test/Instrumentation/AddressSanitizer/debug_info.ll
test/Instrumentation/AddressSanitizer/different_scale_and_offset.ll
test/Instrumentation/AddressSanitizer/do-not-instrument-internal-globals.ll
test/Instrumentation/AddressSanitizer/instrument-no-return.ll
test/Instrumentation/AddressSanitizer/instrument_initializer_metadata.ll
test/Instrumentation/AddressSanitizer/instrument_load_then_store.ll
test/Instrumentation/AddressSanitizer/lifetime.ll
test/Instrumentation/AddressSanitizer/test64.ll
test/Instrumentation/ThreadSanitizer/tsan-vs-gvn.ll
utils/llvm.grm
utils/vim/llvm.vim