llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner e5eb6f829c Add some simplifications for MULH[SU]. This allows us to compile this:
long %bar(long %X) {
  %Y = mul long %X, 4294967297
  ret long %Y
}

to this:

l1_bar:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EDX, %EAX
        add %EDX, DWORD PTR [%ESP + 8]
        ret

instead of:

l1_bar:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EDX, 1
        mov %EAX, %ECX
        mul %EDX
        add %EDX, %ECX
        add %EDX, DWORD PTR [%ESP + 8]
        mov %EAX, %ECX
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22044 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 05:39:08 +00:00
..
LegalizeDAG.cpp allow token chain at start or end of node 2005-05-14 08:34:53 +00:00
Makefile
SelectionDAG.cpp Add some simplifications for MULH[SU]. This allows us to compile this: 2005-05-15 05:39:08 +00:00
SelectionDAGISel.cpp Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx 2005-05-14 13:56:55 +00:00
SelectionDAGPrinter.cpp Print SrcValue nodes correctly 2005-05-09 04:08:27 +00:00
TargetLowering.cpp Remove trailing whitespace 2005-04-21 22:55:34 +00:00