1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/lib/Transforms
Reid Spencer 8d2736401b * 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
..
Hello Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Instrumentation Eliminate tabs and trailing spaces 2005-04-23 21:38:35 +00:00
IPO * Correct the function prototypes for some of the functions to match the 2005-05-04 03:20:21 +00:00
Scalar Fixed a comment. 2005-05-02 14:47:42 +00:00
Utils Remove optimizations that don't require both operands to be constant. These 2005-04-29 05:55:35 +00:00
ExprTypeConvert.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
LevelRaise.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Makefile
TransformInternals.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
TransformInternals.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00