Delete the IPO simplify-libcalls and completely reimplement it as

a FunctionPass.  This makes it simpler, fixes dozens of bugs, adds
a couple of minor features, and shrinks is considerably: from
2214 to 1437 lines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50520 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-05-01 06:25:24 +00:00
parent 2facbddb76
commit fd1cbbe9cf
4 changed files with 1443 additions and 2219 deletions

View File

@ -159,11 +159,6 @@ FunctionPass *createSingleLoopExtractorPass();
///
ModulePass *createBlockExtractorPass(const std::vector<BasicBlock*> &BTNE);
/// 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
ModulePass *createIndMemRemPass();

View File

@ -323,6 +323,12 @@ FunctionPass *createMemCpyOptPass();
// can prove are dead.
//
LoopPass *createLoopDeletionPass();
//===----------------------------------------------------------------------===//
//
/// createSimplifyLibCallsPass - This pass optimizes specific calls to
/// specific well-known (library) functions.
FunctionPass *createSimplifyLibCallsPass();
//===----------------------------------------------------------------------===//
//

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff