llvm-project/llvm/lib/Transforms/IPO
Reid Spencer 1e520fd661 * Correct the function prototypes for some of the functions to match the
actual spec (int -> uint)
* Add the ability to get/cache the strlen function prototype.
* Make sure generated values are appropriately named for debugging purposes
* Add the SPrintFOptimiation for 4 casts of sprintf optimization:
    sprintf(str,cstr) -> llvm.memcpy(str,cstr) (if cstr has no %)
    sprintf(str,"")   -> store sbyte 0, str
    sprintf(str,"%s",src) -> llvm.memcpy(str,src) (if src is constant)
    sprintf(str,"%c",chr) -> store chr, str   ; store sbyte 0, str+1

The sprintf optimization didn't fire as much as I had hoped:

  2 MultiSource/Applications/SPASS
  5 MultiSource/Benchmarks/McCat/18-imp
 22 MultiSource/Benchmarks/Prolangs-C/TimberWolfMC
  1 MultiSource/Benchmarks/Prolangs-C/assembler
  6 MultiSource/Benchmarks/Prolangs-C/unix-smail
  2 MultiSource/Benchmarks/mediabench/mpeg2/mpeg2dec

llvm-svn: 21679
2005-05-04 03:20:21 +00:00
..
ArgumentPromotion.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ConstantMerge.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
DeadArgumentElimination.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
DeadTypeElimination.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ExtractFunction.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
FunctionResolution.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
GlobalDCE.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
GlobalOpt.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
IPConstantPropagation.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
InlineSimple.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Inliner.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Inliner.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Internalize.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LoopExtractor.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LowerSetJmp.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
PruneEH.cpp remove 'statement with no effect' warning 2005-04-27 20:12:17 +00:00
RaiseAllocations.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
SimplifyLibCalls.cpp * Correct the function prototypes for some of the functions to match the 2005-05-04 03:20:21 +00:00
StripSymbols.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00