llvm-6502/test
Chris Lattner 05f18920e1 Teach inst combine to merge GEPs through PHIs. This is really
important because it is sinking the loads using the GEPs, but
not the GEPs themselves.  This triggers 647 times on 403.gcc
and makes the .s file much much nicer.  For example before:

        je      LBB1_87 ## bb78
LBB1_62:        ## bb77
        leal    84(%esi), %eax
LBB1_63:        ## bb79
        movl    (%eax), %eax
...
LBB1_87:        ## bb78
        movl    $0, 4(%esp)
        movl    %esi, (%esp)
        call    L_make_decl_rtl$stub
        jmp     LBB1_62 ## bb77


after:

        jne     LBB1_63 ## bb79
LBB1_62:        ## bb78
        movl    $0, 4(%esp)
        movl    %esi, (%esp)
        call    L_make_decl_rtl$stub
LBB1_63:        ## bb79
        movl    84(%esi), %eax

The input code was (and the GEPs are merged and
the PHI is now eliminated by instcombine):

        br i1 %tmp233, label %bb78, label %bb77
bb77:           
        %tmp234 = getelementptr %struct.tree_node* %t_addr.3, i32 0, i32 0, i32 22              
        br label %bb79
bb78:           
        call void @make_decl_rtl(%struct.tree_node* %t_addr.3, i8* null) nounwind
        %tmp235 = getelementptr %struct.tree_node* %t_addr.3, i32 0, i32 0, i32 22              
        br label %bb79
bb79:           
        %iftmp.12.0.in = phi %struct.rtx_def** [ %tmp235, %bb78 ], [ %tmp234, %bb77 ]           
        %iftmp.12.0 = load %struct.rtx_def** %iftmp.12.0.in             



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60322 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-01 02:34:36 +00:00
..
Analysis Extend the 'noalias' attribute to function return values. This is intended to 2008-11-24 03:41:24 +00:00
Archive sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
Assembler Fix the .ll grammar rules to allow any type before an 'i32', not just an 2008-10-15 06:16:45 +00:00
Bindings/Ocaml [PR2886] Ignore stderr from ocamlc since it prints unresolvable warnings on some platforms. 2008-10-22 12:41:54 +00:00
Bitcode Eliminate x86.sse2.punpckh.qdq and x86.sse2.punpckl.qdq. 2008-05-24 02:56:30 +00:00
BugPoint this is unneeded now. 2008-06-16 04:25:39 +00:00
CodeGen Followup to r60283: optimize arbitrary width signed divisions as well 2008-11-30 06:35:39 +00:00
DebugInfo If there are two consecutive llvm.dbg.stoppoint calls then 2008-11-19 18:56:50 +00:00
ExecutionEngine Add a test case for APInt bug fix in r51999. 2008-06-05 13:42:21 +00:00
Feature Extend the 'noalias' attribute to function return values. This is intended to 2008-11-24 03:41:24 +00:00
FrontendAda Teach constant folding that an inttoptr of a 2008-08-13 20:20:35 +00:00
FrontendC Add test case for ptr annotation. 2008-11-12 16:12:27 +00:00
FrontendC++ Testcase for PR2917. 2008-10-29 18:06:20 +00:00
FrontendFortran Testcase for recent llvm-gcc fix 2008-11-03 14:43:31 +00:00
FrontendObjC Add test for rdar://6394879. 2008-11-26 02:21:12 +00:00
FrontendObjC++ This is an objective-c test, not an objective-c++ one. 2008-10-06 18:42:48 +00:00
Integer Fix some escaping and quoting in RUN lines, mainly involving { and <. In two 2008-06-10 16:04:47 +00:00
lib Fix make check on Solaris 10/x86: the default grep is not GNU grep, same for as. 2008-10-21 17:21:32 +00:00
Linker Add global variable to test for consistency 2008-10-15 20:22:44 +00:00
LLVMC Since the old llvmc was removed, rename llvmc2 to llvmc. 2008-11-25 21:38:12 +00:00
Other Testcase for PR2894. 2008-10-15 22:34:34 +00:00
Scripts simplify shell syntax to work better on solaris, patch by 2008-06-25 16:03:42 +00:00
TableGen Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
Transforms Teach inst combine to merge GEPs through PHIs. This is really 2008-12-01 02:34:36 +00:00
Verifier Correct this error message. 2008-11-15 17:50:47 +00:00
Makefile Fix make check on Solaris 10/x86: the default grep is not GNU grep, same for as. 2008-10-21 17:21:32 +00:00
Makefile.tests
TestRunner.sh Fix a bashism in TestRunner.sh. 2008-07-28 18:41:03 +00:00