summaryrefslogtreecommitdiffstats
path: root/llvm/tools/opt
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-11-07 21:32:08 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-11-07 21:32:08 +0000
commit5898e09057591c1c5c1a97fd79eda56d72393f4a (patch)
tree0bc9853343991e519e9475634b68dcac78afdd43 /llvm/tools/opt
parentd48829b9582d4f7f29a519c13689dac8d89522c9 (diff)
downloadbcm5719-llvm-5898e09057591c1c5c1a97fd79eda56d72393f4a.tar.gz
bcm5719-llvm-5898e09057591c1c5c1a97fd79eda56d72393f4a.zip
Transform: add SymbolRewriter pass
This introduces the symbol rewriter. This is an IR->IR transformation that is implemented as a CodeGenPrepare pass. This allows for the transparent adjustment of the symbols during compilation. It provides a clean, simple, elegant solution for symbol inter-positioning. This technique is often used, such as in the various sanitizers and performance analysis. The control of this is via a custom YAML syntax map file that indicates source to destination mapping, so as to avoid having the compiler to know the exact details of the source to destination transformations. llvm-svn: 221548
Diffstat (limited to 'llvm/tools/opt')
-rw-r--r--llvm/tools/opt/opt.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp
index 8a3362912c7..cdd22e48c0c 100644
--- a/llvm/tools/opt/opt.cpp
+++ b/llvm/tools/opt/opt.cpp
@@ -322,6 +322,7 @@ int main(int argc, char **argv) {
// supported.
initializeCodeGenPreparePass(Registry);
initializeAtomicExpandPass(Registry);
+ initializeRewriteSymbolsPass(Registry);
#ifdef LINK_POLLY_INTO_TOOLS
polly::initializePollyPasses(Registry);
OpenPOWER on IntegriCloud