llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 14723c264d constant fold FP_ROUND_INREG, ZERO_EXTEND_INREG, and SIGN_EXTEND_INREG
This allows the alpha backend to compile:

bool %test(uint %P) {
        %c = seteq uint %P, 0
        ret bool %c
}

into:

test:
        ldgp $29, 0($27)
        ZAP $16,240,$0
        CMPEQ $0,0,$0
        AND $0,1,$0
        ret $31,($26),1

instead of:

test:
        ldgp $29, 0($27)
        ZAP $16,240,$0
        ldiq $1,0
        ZAP $1,240,$1
        CMPEQ $0,$1,$0
        AND $0,1,$0
        ret $31,($26),1

... and fixes PR534.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20534 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-09 18:37:12 +00:00
..
LegalizeDAG.cpp Fix a bug in the 'store fpimm, ptr' -> 'store intimm, ptr' handling code. 2005-02-22 07:23:39 +00:00
Makefile Change Library Names Not To Conflict With Others When Installed 2004-10-27 23:18:45 +00:00
SelectionDAG.cpp constant fold FP_ROUND_INREG, ZERO_EXTEND_INREG, and SIGN_EXTEND_INREG 2005-03-09 18:37:12 +00:00
SelectionDAGISel.cpp Fix compilation errors with VS 2005, patch by Aaron Gray. 2005-02-17 21:39:27 +00:00
SelectionDAGPrinter.cpp Don't mash stuff together. 2005-01-16 07:28:31 +00:00
TargetLowering.cpp Add a hook to find out how the target handles shift amounts that are out of 2005-01-19 03:36:14 +00:00