llvm/test/SymbolRewriter/rewrite.map
Saleem Abdulrasool 35c163020a 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221548 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-07 21:32:08 +00:00

47 lines
670 B
Plaintext

function: {
source: source_function,
target: target_function,
}
global variable: {
source: source_variable,
target: target_variable,
}
function: {
source: source_function_(.*),
transform: target_\1,
}
global variable: {
source: source_variable_(.*),
transform: target_\1,
}
function: {
source: naked_source_function,
target: naked_target_function,
naked: true,
}
function: {
source: imported_function,
target: exported_function,
}
function: {
source: missing_global_leader_prefix,
target: DO_NOT_REWRITE,
}
function: {
source: first_callee,
target: renamed_callee,
}
global alias: {
source: _ZN1SC1Ev,
target: _ZN1SD1Ev,
}