diff options
| author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-11-07 21:32:08 +0000 |
|---|---|---|
| committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-11-07 21:32:08 +0000 |
| commit | 5898e09057591c1c5c1a97fd79eda56d72393f4a (patch) | |
| tree | 0bc9853343991e519e9475634b68dcac78afdd43 /llvm/tools/opt | |
| parent | d48829b9582d4f7f29a519c13689dac8d89522c9 (diff) | |
| download | bcm5719-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.cpp | 1 |
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); |

