* Don't depend on "guessing" what a FILE* is, just require that the actual
authorReid Spencer <rspencer@reidspencer.com>
Sat, 30 Apr 2005 03:17:54 +0000 (03:17 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sat, 30 Apr 2005 03:17:54 +0000 (03:17 +0000)
commit9f56b1feeb9f2d50fdf5bb9e9a71a0973ae33ef7
treeb2a236cd63024559db1dc656106c6c7c2a818b55
parentabffafd90fc30fbe8e9c9e93af490e3baad642bb
* Don't depend on "guessing" what a FILE* is, just require that the actual
  type be obtained from a CallInst we're optimizing.
* Make it possible for getConstantStringLength to return the ConstantArray
  that it extracts in case the content is needed by an Optimization.
* Implement the strcmp optimization
* Implement the toascii optimization

This pass is now firing several to many times in the following MultiSource
tests:

Applications/Burg      -   7 (strcat,strcpy)
Applications/siod      -  13 (strcat,strcpy,strlen)
Applications/spiff     - 120 (exit,fputs,strcat,strcpy,strlen)
Applications/treecc    -  66 (exit,fputs,strcat,strcpy)
Applications/kimwitu++ -  34 (strcmp,strcpy,strlen)
Applications/SPASS     - 588 (exit,fputs,strcat,strcpy,strlen)

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