llvm-6502/lib/CodeGen/SelectionDAG
Chris Lattner 6270f686b3 Eliminate more token factors by taking advantage of transitivity:
if TF depends on A and B, and A depends on B, TF just needs to depend on
A.  With Jim's alias-analysis stuff enabled, this compiles the testcase in
PR892 into:

__Z4test3Val:
        subl $44, %esp
        call L__Z3foov$stub
        movl %edx, 28(%esp)
        movl %eax, 32(%esp)
        movl %eax, 24(%esp)
        movl %edx, 36(%esp)
        movl 52(%esp), %ecx
        movl %ecx, 4(%esp)
        movl %eax, 8(%esp)
        movl %edx, 12(%esp)
        movl 48(%esp), %eax
        movl %eax, (%esp)
        call L__Z3bar3ValS_$stub
        addl $44, %esp
        ret

instead of:

__Z4test3Val:
        subl $44, %esp
        call L__Z3foov$stub
        movl %eax, 24(%esp)
        movl %edx, 28(%esp)
        movl 24(%esp), %eax
        movl %eax, 32(%esp)
        movl 28(%esp), %eax
        movl %eax, 36(%esp)
        movl 32(%esp), %eax
        movl 36(%esp), %ecx
        movl 52(%esp), %edx
        movl %edx, 4(%esp)
        movl %eax, 8(%esp)
        movl %ecx, 12(%esp)
        movl 48(%esp), %eax
        movl %eax, (%esp)
        call L__Z3bar3ValS_$stub
        addl $44, %esp
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30821 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-08 22:57:01 +00:00
..
DAGCombiner.cpp Eliminate more token factors by taking advantage of transitivity: 2006-10-08 22:57:01 +00:00
LegalizeDAG.cpp Fix a bug legalizing zero-extending i64 loads into 32-bit loads. The bottom 2006-10-07 00:58:36 +00:00
Makefile For PR780: 2006-07-26 16:18:00 +00:00
ScheduleDAG.cpp Added support for machine specific constantpool values. These are useful for 2006-09-12 21:00:35 +00:00
ScheduleDAGList.cpp s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| 2006-08-27 12:54:02 +00:00
ScheduleDAGRRList.cpp s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| 2006-08-27 12:54:02 +00:00
ScheduleDAGSimple.cpp s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| 2006-08-27 12:54:02 +00:00
SelectionDAG.cpp Add getStore() helper function to create ISD::STORE nodes. 2006-10-05 22:57:11 +00:00
SelectionDAGCSEMap.cpp Added support for machine specific constantpool values. These are useful for 2006-09-12 21:00:35 +00:00
SelectionDAGISel.cpp jump tables handle pic 2006-10-06 22:32:29 +00:00
SelectionDAGPrinter.cpp Debugging kruft 2006-10-02 13:01:17 +00:00
TargetLowering.cpp initialize ivar 2006-10-06 22:52:08 +00:00