Changes due to code review and new implementation:

* Don't use std::string for the function names, const char* will suffice
* Allow each CallOptimizer to validate the function signature before
  doing anything
* Repeatedly loop over the functions until an iteration produces
  no more optimizations. This allows one optimization to insert a
  call that is optimized by another optimization.
* Implement the ConstantArray portion of the StrCatOptimization
* Provide a template for the MemCpyOptimization
* Make ExitInMainOptimization split the block, not delete everything
  after the return instruction.
(This covers revision 1.3 and 1.4, as the 1.3 comments were botched)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21548 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2005-04-25 21:20:38 +00:00
parent 229ab2e7b2
commit 855adb1ac4

View File

@ -104,10 +104,7 @@ namespace {
}
/// Make sure we get our virtual table in this file.
CallOptimizer::~CallOptimizer()
{
optlist.clear();
}
CallOptimizer::~CallOptimizer() { }
}
ModulePass *llvm::createSimplifyLibCallsPass()