llvm-mirror/lib
Dan Gohman a6e5948fce Don't create ISD::FNEG nodes after legalize if they aren't legal.
Simplify x+0 to x in unsafe-fp-math mode. This avoids a bunch of
redundant work in many cases, because in unsafe-fp-math mode,
ISD::FADD with a constant is considered free to negate, so the
DAGCombiner often negates x+0 to -0-x thinking it's free, when
in reality the end result is -x, which is more expensive than x.

Also, combine x*0 to 0.

This fixes PR3374.

llvm-svn: 62789
2009-01-22 21:58:43 +00:00
..
Analysis introduce a useful abstraction to find out if a Use is in the call position of an instruction 2009-01-22 21:35:57 +00:00
Archive Add the private linkage. 2009-01-15 20:18:42 +00:00
AsmParser Add the private linkage. 2009-01-15 20:18:42 +00:00
Bitcode use specialized accessor instead of plain getOperand(0) 2009-01-16 18:40:27 +00:00
CodeGen Don't create ISD::FNEG nodes after legalize if they aren't legal. 2009-01-22 21:58:43 +00:00
Debugger Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
ExecutionEngine Revert r62553 and r62616 due to issues with portability. 2009-01-22 20:09:20 +00:00
Linker Add the private linkage. 2009-01-15 20:18:42 +00:00
Support Do not use host floating point types when emitting 2009-01-21 20:32:55 +00:00
System rename methods in System/Host to be more consistent. 2009-01-22 19:53:00 +00:00
Target Add SelectionDAG::getNOT method to construct bitwise NOT operations, 2009-01-22 17:39:32 +00:00
Transforms introduce a useful abstraction to find out if a Use is in the call position of an instruction 2009-01-22 21:35:57 +00:00
VMCore Do not use host floating point types when emitting 2009-01-21 20:32:55 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00