Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics.
authorAlexey Samsonov <vonosmas@gmail.com>
Wed, 9 Jul 2014 19:40:08 +0000 (19:40 +0000)
committerAlexey Samsonov <vonosmas@gmail.com>
Wed, 9 Jul 2014 19:40:08 +0000 (19:40 +0000)
commit3e51f754ad08cc453c5e7476bcc6e92743b68830
tree8262590a3a97cfa08c63626d0c030aa826ef64f9
parentbdd9df49fc747e4068cc6ef4dc6b9e0497dda49c
Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics.

Turn llvm::SpecialCaseList into a simple class that parses text files in
a specified format and knows nothing about LLVM IR. Move this class into
LLVMSupport library. Implement two users of this class:
  * DFSanABIList in DFSan instrumentation pass.
  * SanitizerBlacklist in Clang CodeGen library.
The latter will be modified to use actual source-level information from frontend
(source file names) instead of unstable LLVM IR things (LLVM Module identifier).

Remove dependency edge from ClangCodeGen/ClangDriver to LLVMTransformUtils.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212643 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/SpecialCaseList.h [new file with mode: 0644]
include/llvm/Transforms/Utils/SpecialCaseList.h [deleted file]
lib/Support/CMakeLists.txt
lib/Support/SpecialCaseList.cpp [new file with mode: 0644]
lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
lib/Transforms/Utils/CMakeLists.txt
lib/Transforms/Utils/SpecialCaseList.cpp [deleted file]
unittests/Support/CMakeLists.txt
unittests/Support/SpecialCaseListTest.cpp [new file with mode: 0644]
unittests/Transforms/Utils/CMakeLists.txt
unittests/Transforms/Utils/SpecialCaseList.cpp [deleted file]