diff options
author | Devang Patel <dpatel@apple.com> | 2010-07-01 19:49:20 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2010-07-01 19:49:20 +0000 |
commit | 26d14294de179ada3ba472d206bd25e9785f05a3 (patch) | |
tree | 580741c808ae154cbed556753e22e4ae6ad39ca7 /include/llvm | |
parent | e62b203570e1a6b071a0ef4c64cb81093026d93a (diff) | |
download | llvm-26d14294de179ada3ba472d206bd25e9785f05a3.tar.gz llvm-26d14294de179ada3ba472d206bd25e9785f05a3.tar.bz2 llvm-26d14294de179ada3ba472d206bd25e9785f05a3.tar.xz |
Debugging infomration is encoded in llvm IR using metadata. This is designed
such a way that debug info for symbols preserved even if symbols are
optimized away by the optimizer.
Add new special pass to remove debug info for such symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/LinkAllPasses.h | 1 | ||||
-rw-r--r-- | include/llvm/Transforms/IPO.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/LinkAllPasses.h b/include/llvm/LinkAllPasses.h index c2375eaab1..876703b903 100644 --- a/include/llvm/LinkAllPasses.h +++ b/include/llvm/LinkAllPasses.h @@ -113,6 +113,7 @@ namespace { (void) llvm::createSingleLoopExtractorPass(); (void) llvm::createStripSymbolsPass(); (void) llvm::createStripNonDebugSymbolsPass(); + (void) llvm::createStripDeadDebugInfoPass(); (void) llvm::createStripDeadPrototypesPass(); (void) llvm::createTailCallEliminationPass(); (void) llvm::createTailDuplicationPass(); diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h index 5e17904422..8fb4b63c64 100644 --- a/include/llvm/Transforms/IPO.h +++ b/include/llvm/Transforms/IPO.h @@ -45,6 +45,11 @@ ModulePass *createStripNonDebugSymbolsPass(); ModulePass *createStripDebugDeclarePass(); //===----------------------------------------------------------------------===// +// +// These pass removes unused symbols' debug info. +ModulePass *createStripDeadDebugInfoPass(); + +//===----------------------------------------------------------------------===// /// createLowerSetJmpPass - This function lowers the setjmp/longjmp intrinsics /// to invoke/unwind instructions. This should really be part of the C/C++ /// front-end, but it's so much easier to write transformations in LLVM proper. |