aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine/phi.ll
Commit message (Collapse)AuthorAgeFilesLines
* merge phi-merge.ll into phi.llChris Lattner2009-11-011-0/+33
| | | | | | | | I don't know what Dan wants to do with phi-merge-gep.ll, I'll let him deal with it because instcombine may end up sinking these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85739 91177308-0d34-0410-b5e6-96231b3b80d8
* when merging two loads, make sure to take the min of their alignment,Chris Lattner2009-11-011-0/+26
| | | | | | | | not the max. This didn't matter until the previous patch because instcombine would refuse to sink loads with differenting alignments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85738 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a bug noticed by inspection: when instcombine sinks loads throughChris Lattner2009-11-011-0/+21
| | | | | | | | | phis, it didn't preserve the alignment of the load. This is a missed optimization of the alignment is high and a miscompilation when the alignment is low. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85736 91177308-0d34-0410-b5e6-96231b3b80d8
* convert to filecheck.Chris Lattner2009-11-011-20/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85734 91177308-0d34-0410-b5e6-96231b3b80d8
* Use opt -S instead of piping bitcode output through llvm-dis.Dan Gohman2009-09-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81257 91177308-0d34-0410-b5e6-96231b3b80d8
* Change these tests to feed the assembly files to opt directly, insteadDan Gohman2009-09-081-1/+1
| | | | | | | of using llvm-as, now that opt supports this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81226 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach inst combine to merge GEPs through PHIs. This is reallyChris Lattner2008-12-011-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove llvm-upgrade and update test cases.Tanya Lattner2008-03-011-53/+76
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1319:Reid Spencer2007-04-151-0/+1
| | | | | | | | 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
* For PR1319:Reid Spencer2007-04-141-2/+0
| | | | | | | 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
* new testcaseChris Lattner2007-01-151-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33233 91177308-0d34-0410-b5e6-96231b3b80d8
* Use the llvm-upgrade program to upgrade llvm assembly.Reid Spencer2006-12-021-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase: the phi can be eliminated if the casts are sucked into it.Chris Lattner2004-11-141-0/+12
| | | | | | | | 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
* Fix typoChris Lattner2004-11-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17738 91177308-0d34-0410-b5e6-96231b3b80d8
* add a testcase, which we already handleChris Lattner2004-11-141-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17737 91177308-0d34-0410-b5e6-96231b3b80d8
* remove bogus testChris Lattner2004-05-271-12/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13827 91177308-0d34-0410-b5e6-96231b3b80d8
* The instruction combining pass removes dead instructions, there is no needChris Lattner2004-02-281-1/+1
| | | | | | | to run the die pass after it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11942 91177308-0d34-0410-b5e6-96231b3b80d8
* A new testcase for a situation that occurs in 181.mcfChris Lattner2004-02-161-0/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11493 91177308-0d34-0410-b5e6-96231b3b80d8
* Renamed `as' => `llvm-as', `dis' => `llvm-dis', `link' => `llvm-link'.Misha Brukman2003-09-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8558 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove usage of grep-not scriptChris Lattner2003-06-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6966 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert scripts from using explicit control flow to use the new grep-not scriptChris Lattner2003-06-281-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6955 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new testcases for instcombineChris Lattner2002-08-221-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3477 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase for instcombineChris Lattner2002-08-201-1/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3396 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the testcase more interesting so that DCE does not eliminate it.Chris Lattner2002-05-061-5/+7
| | | | | | | Use DIE instead of DCE anyway git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2500 91177308-0d34-0410-b5e6-96231b3b80d8
* New testcase for PHI foldingChris Lattner2002-05-061-0/+17
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2495 91177308-0d34-0410-b5e6-96231b3b80d8