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
Tanya Lattner
ec9a35a6f9
Remove llvm-upgrade and update test cases.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-01 09:15:35 +00:00
Reid Spencer
7c65d4345e
For PR1319:
...
Make use of the END. facility on all files > 1K so that we aren't wasting CPU
cycles searching for RUN: lines that we'll never find.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36059 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-15 07:38:21 +00:00
Reid Spencer
2b544beda3
For PR1319:
...
Upgrade tests to work with new llvm.exp version of llvm_runtest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36013 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 20:13:02 +00:00
Chris Lattner
151becec7e
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33233 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 07:29:29 +00:00
Reid Spencer
69ccadd753
Use the llvm-upgrade program to upgrade llvm assembly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:23:10 +00:00
Chris Lattner
6e54db0852
New testcase: the phi can be eliminated if the casts are sucked into it.
...
Note that this reduces code size anyway (as well as making further
optimizations simpler) so it's always a win.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 19:12:17 +00:00
Chris Lattner
e58b25490b
Fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17738 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 17:54:58 +00:00
Chris Lattner
56ef3aebd8
add a testcase, which we already handle
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 17:54:27 +00:00
Chris Lattner
7bbf388753
remove bogus test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13827 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 07:39:51 +00:00
Chris Lattner
efd74a0159
The instruction combining pass removes dead instructions, there is no need
...
to run the die pass after it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11942 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 05:26:06 +00:00
Chris Lattner
d8bed768ab
A new testcase for a situation that occurs in 181.mcf
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11493 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-16 05:06:36 +00:00
Misha Brukman
e78760e179
Renamed as' =>
llvm-as', dis' =>
llvm-dis', link' =>
llvm-link'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:29:54 +00:00
Chris Lattner
060c1f816c
Remove usage of grep-not script
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6966 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 23:32:04 +00:00
Chris Lattner
c6cab24151
Convert scripts from using explicit control flow to use the new grep-not script
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6955 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 22:44:42 +00:00
Chris Lattner
b81258c278
Add new testcases for instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3477 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 21:26:15 +00:00
Chris Lattner
dce9427985
New testcase for instcombine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3396 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 15:27:45 +00:00
Chris Lattner
fee97e83ce
Make the testcase more interesting so that DCE does not eliminate it.
...
Use DIE instead of DCE anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2500 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 17:59:23 +00:00
Chris Lattner
32e1740c7c
New testcase for PHI folding
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2495 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 17:43:38 +00:00