llvm/lib
Reid Spencer a1b4390938 Implement the fprintf optimization which converts calls like this:
fprintf(F,"hello") -> fwrite("hello",strlen("hello"),1,F)
  fprintf(F,"%s","hello") -> fwrite("hello",strlen("hello"),1,F)
  fprintf(F,"%c",'x') -> fputc('c',F)

This optimization fires severals times in llvm-test:

313 MultiSource/Applications/Burg
302 MultiSource/Benchmarks/Prolangs-C/TimberWolfMC
189 MultiSource/Benchmarks/Prolangs-C/mybison
175 MultiSource/Benchmarks/Prolangs-C/football
130 MultiSource/Benchmarks/Prolangs-C/unix-tbl


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21657 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-02 23:59:26 +00:00
..
Analysis Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad 2005-04-30 03:44:07 +00:00
Archive Remove trailing whitespace 2005-04-21 21:13:18 +00:00
AsmParser Remove support for 1.0 style varargs 2005-05-02 19:07:27 +00:00
Bytecode Convert tabs to spaces 2005-04-22 04:01:18 +00:00
CodeGen Do not use deprecated APIs 2005-04-30 07:13:31 +00:00
Debugger Remove trailing whitespace 2005-04-21 22:36:52 +00:00
ExecutionEngine Convert tabs to spaces 2005-04-22 04:08:30 +00:00
Linker Remove trailing whitespace 2005-04-21 22:55:34 +00:00
Support * Order #includes as per style guide 2005-04-22 19:13:22 +00:00
System Silence gcc-4.0.0 warnings. 2005-04-22 17:56:01 +00:00
Target support multiplication by constant negative integers 2005-05-02 07:27:14 +00:00
Transforms Implement the fprintf optimization which converts calls like this: 2005-05-02 23:59:26 +00:00
VMCore fold fp div by 0 to inf, the way gcc does. This is legal according to the FP spec 2005-05-02 21:25:47 +00:00
Makefile Add the Linker library 2004-11-14 21:54:41 +00:00