1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/Transforms/SimplifyCFG
Evan Cheng c7ed1b9258 Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e.
Turn                                                                                                                                                                                                       
BB:                                                                                                                                                                                                        
    %t1 = icmp                                                                                                                                                                                             
    br i1 %t1, label %BB1, label %BB2                                                                                                                                                                      
BB1:                                                                                                                                                                                                       
    %t3 = add %t2, c                                                                                                                                                                                       
    br label BB2                                                                                                                                                                                           
BB2:                                                                                                                                                                                                       
=>                                                                                                                                                                                                         
BB:                                                                                                                                                                                                        
    %t1 = icmp                                                                                                                                                                                             
    %t4 = add %t2, c                                                                                                                                                                                       
    %t3 = select i1 %t1, %t2, %t3

llvm-svn: 52073
2008-06-07 08:52:29 +00:00
..
2002-05-05-EmptyBlockMerge.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2002-05-21-PHIElimination.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2002-06-24-PHINode.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2002-09-24-PHIAssertion.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2003-03-07-DominateProblem.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2003-08-05-InvokeCrash.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2003-08-05-MishandleInvoke.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2003-08-17-BranchFold.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
2003-08-17-BranchFoldOrdering.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
2003-08-17-FoldSwitch.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2004-12-10-SimplifyCFGCrash.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2005-06-16-PHICrash.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2005-08-01-PHIUpdateFail.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2005-08-03-PHIFactorCrash.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2005-10-02-InvokeSimplify.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2005-12-03-IncorrectPHIFold.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2006-02-17-InfiniteUnroll.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2006-06-12-InfLoop.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2006-08-03-Crash.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2006-10-19-UncondDiv.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2006-10-29-InvokeCrash.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2006-12-08-Ptr-ICmp-Branch.ll Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
2007-11-22-InvokeNoUnwind.ll Add some convenience methods for querying attributes, and 2007-11-28 17:07:01 +00:00
2007-12-21-Crash.ll Test -simplifycfg only. 2007-12-28 22:59:48 +00:00
2008-01-02-hoist-fp-add.ll don't hoist FP additions into unconditional adds + selects. This 2008-01-03 07:25:26 +00:00
2008-04-23-MergeMultipleResultRet.ll Split some code out of the main SimplifyCFG loop into its own function. 2008-04-24 00:01:19 +00:00
2008-04-27-MultipleReturnCrash.ll Fix PR2256, yet another miscompilation in simplifycfg of i 2008-04-28 00:19:07 +00:00
2008-05-16-PHIBlockMerge.ll Restucture a part of the SimplifyCFG pass and include a testcase. 2008-05-23 09:09:41 +00:00
basictest.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
branch-cond-merge.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
branch-cond-prop.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
branch-fold-test.ll Fix run line. 2008-06-07 08:40:16 +00:00
branch-fold.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
branch-phi-thread.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
BrUnwind.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
DeadSetCC.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
EqualPHIEdgeBlockMerge.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
hoist-common-code.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
HoistCode.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
InvokeEliminate.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
iterative-simplify.ll Implement PR1786 by iterating between dead cycle elimination 2007-11-13 07:32:38 +00:00
noreturn-call.ll Implement PR1796 and Transforms/SimplifyCFG/noreturn-call.ll 2007-11-14 06:19:25 +00:00
PhiBlockMerge2.ll Make this test more challenging to help it avoid being 2008-03-11 21:47:57 +00:00
PhiBlockMerge.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
PhiEliminate2.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
PhiEliminate.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
PhiNoEliminate.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
return-merge.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
SpeculativeExec.ll Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e. 2008-06-07 08:52:29 +00:00
switch_create.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
switch_formation.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
switch_switch_fold.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
switch_thread.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
switch-simplify-crash.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
two-entry-phi-return.ll Check to see if a two-entry PHI block can be simplified 2008-03-11 21:53:06 +00:00
UncondBranchToReturn.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00
UnreachableEliminate.ll Upgrade tests to not use llvm-upgrade. 2008-03-18 03:45:45 +00:00