aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Transforms
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-02-05 20:47:22 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-02-05 20:47:22 +0000
commitef9b9a793949469cdaa4ab6d0173136229dcab7b (patch)
tree137b30d24ba219e5e745a11abb3807a9c4964aaa /include/llvm/Transforms
parent15468bfc22302b4f79300252425d74cd6865f8b1 (diff)
downloadexternal_llvm-ef9b9a793949469cdaa4ab6d0173136229dcab7b.zip
external_llvm-ef9b9a793949469cdaa4ab6d0173136229dcab7b.tar.gz
external_llvm-ef9b9a793949469cdaa4ab6d0173136229dcab7b.tar.bz2
For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms')
-rw-r--r--include/llvm/Transforms/IPO.h31
1 files changed, 11 insertions, 20 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index b24857e..6ab6d7b 100644
--- a/include/llvm/Transforms/IPO.h
+++ b/include/llvm/Transforms/IPO.h
@@ -87,19 +87,6 @@ ModulePass *createFunctionExtractionPass(Function *F, bool deleteFn = false,
//===----------------------------------------------------------------------===//
-/// FunctionResolvingPass - Go over the functions that are in the module and
-/// look for functions that have the same name. More often than not, there will
-/// be things like:
-/// void "foo"(...)
-/// void "foo"(int, int)
-/// because of the way things are declared in C. If this is the case, patch
-/// things up.
-///
-/// This is an interprocedural pass.
-///
-ModulePass *createFunctionResolvingPass();
-
-//===----------------------------------------------------------------------===//
/// createFunctionInliningPass - Return a new pass object that uses a heuristic
/// to inline direct function calls to small functions.
///
@@ -163,20 +150,24 @@ FunctionPass *createLoopExtractorPass();
///
FunctionPass *createSingleLoopExtractorPass();
-// createBlockExtractorPass - This pass extracts all blocks (except those
-// specified in the argument list) from the functions in the module.
-//
+/// createBlockExtractorPass - This pass extracts all blocks (except those
+/// specified in the argument list) from the functions in the module.
+///
ModulePass *createBlockExtractorPass(std::vector<BasicBlock*> &BTNE);
-// createOptimizeWellKnownCallsPass - This pass optimizes specific calls to
-// specific well-known (library) functions.
+/// createOptimizeWellKnownCallsPass - This pass optimizes specific calls to
+/// specific well-known (library) functions.
ModulePass *createSimplifyLibCallsPass();
-// createIndMemRemPass - This pass removes potential indirect calls of
-// malloc and free
+/// createIndMemRemPass - This pass removes potential indirect calls of
+/// malloc and free
ModulePass *createIndMemRemPass();
+/// createStripDeadPrototypesPass - This pass removes any function declarations
+/// (prototypes) that are not used.
+ModulePass *createStripDeadPrototypesPass();
+
} // End llvm namespace
#endif