llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 7ef330478f Implement CopyFromReg, TokenFactor, and fix a bug in CopyToReg. This allows
us to compile stuff like this:

double %test(double %A, double %B, double %C, double %E) {
        %F = mul double %A, %A
        %G = add double %F, %B
        %H = sub double -0.0, %G
        %I = mul double %H, %C
        %J = add double %I, %E
        ret double %J
}

to:

_test:
        fnmadd f0, f1, f1, f2
        fmadd f1, f0, f3, f4
        blr

woot!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22937 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-19 21:43:53 +00:00
..
LegalizeDAG.cpp Culling out use of unions for converting FP to bits and vice versa. 2005-08-17 19:34:49 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
ScheduleDAG.cpp Implement CopyFromReg, TokenFactor, and fix a bug in CopyToReg. This allows 2005-08-19 21:43:53 +00:00
SelectionDAG.cpp Fix a bug in previous commit 2005-08-19 21:34:13 +00:00
SelectionDAGISel.cpp Enable critical edge splitting by default 2005-08-18 17:35:14 +00:00
SelectionDAGPrinter.cpp Print physreg register nodes with target names (e.g. F1) instead of numbers 2005-08-19 21:21:16 +00:00
TargetLowering.cpp For: memory operations -> stores 2005-07-19 04:52:44 +00:00