llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 2ad913b342 Disable the (A == (B-A)) -> 2*A == B xform when the sub has multiple uses (in
this case, the xform introduces an extra operation).  This compiles
PowerPC/compare-duplicate.ll into:

_test:
        subf r2, r3, r4
        cmplw cr0, r2, r3
        bne cr0, LBB1_2 ;F

instead of:

_test:
        slwi r2, r3, 1
        subf r3, r3, r4
        cmplw cr0, r4, r2
        bne cr0, LBB1_2 ;F

This is target independent of course.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37246 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-19 00:43:44 +00:00
..
CallingConvLower.cpp add methods for analysis of call results and return nodes. 2007-02-28 07:09:40 +00:00
DAGCombiner.cpp Qualify calls to getTypeForValueType with MVT:: too. 2007-05-18 18:41:29 +00:00
LegalizeDAG.cpp Qualify several calls to functions in the MVT namespace, for consistency. 2007-05-18 17:52:13 +00:00
Makefile
ScheduleDAG.cpp Fix some VC++ warnings. 2007-03-20 20:43:18 +00:00
ScheduleDAGList.cpp switch the sched unit map over to use a DenseMap instead of std::map. This 2007-02-03 01:34:13 +00:00
ScheduleDAGRRList.cpp Fix a typo in a comment. 2007-04-26 19:40:56 +00:00
ScheduleDAGSimple.cpp Removed tabs everywhere except autogenerated & external files. Add make 2007-04-16 18:10:23 +00:00
SelectionDAG.cpp Be more careful about folding op(x, undef) when we have vector operands. 2007-04-25 00:00:45 +00:00
SelectionDAGISel.cpp Qualify several calls to functions in the MVT namespace, for consistency. 2007-05-18 17:52:13 +00:00
SelectionDAGPrinter.cpp Qualify several calls to functions in the MVT namespace, for consistency. 2007-05-18 17:52:13 +00:00
TargetLowering.cpp Disable the (A == (B-A)) -> 2*A == B xform when the sub has multiple uses (in 2007-05-19 00:43:44 +00:00