Post-Review Cleanup:
authorReid Spencer <rspencer@reidspencer.com>
Mon, 25 Apr 2005 03:59:26 +0000 (03:59 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 25 Apr 2005 03:59:26 +0000 (03:59 +0000)
commitb7c11e3966abbad0cf005ca87bcee46aafe48bed
treebb3bba9b63abbe6667e07f8c3191aadbca1107b2
parent5517b2ba236ada970d6a706e700a9dd94556f30b
Post-Review Cleanup:
* Fix comments at top of file
* Change algorithm for running the call optimizations from n*n to something
  closer to n.
* Use a hash_map to store and lookup the optimizations since there will
  eventually (or potentially) be a large number of them. This gets lookup
  based on the name of the function to O(1). Each CallOptimizer now has a
  std::string member named func_name that tracks the name of the function
  that it applies to. It is this string that is entered into the hash_map
  for fast comparison against the function names encountered in the module.
* Cleanup some style issues pertaining to iterator invalidation
* Don't pass the Function pointer to the OptimizeCall function because if
  the optimization needs it, it can get it from the CallInst passed in.
* Add the skeleton for a new CallOptimizer, StrCatOptimizer which will
  eventually replace strcat's of constant strings with direct copies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21526 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/SimplifyLibCalls.cpp