forked from OSchip/llvm-project
![]() 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 |
||
---|---|---|
.. | ||
ArgumentPromotion.cpp | ||
ConstantMerge.cpp | ||
DeadArgumentElimination.cpp | ||
DeadTypeElimination.cpp | ||
ExtractFunction.cpp | ||
FunctionResolution.cpp | ||
GlobalDCE.cpp | ||
GlobalOpt.cpp | ||
IPConstantPropagation.cpp | ||
InlineSimple.cpp | ||
Inliner.cpp | ||
Inliner.h | ||
Internalize.cpp | ||
LoopExtractor.cpp | ||
LowerSetJmp.cpp | ||
Makefile | ||
PruneEH.cpp | ||
RaiseAllocations.cpp | ||
SimplifyLibCalls.cpp | ||
StripSymbols.cpp |