llvm-project/llvm/test/Transforms/SimplifyCFG
Andrea Di Biagio b14ae8692d [CodeGenPrepare] Removed duplicate logic. SimplifyCFG already knows how to speculate calls to cttz/ctlz.
SimplifyCFG now knows how to speculate calls to intrinsic cttz/ctlz that are
'cheap' for the target. Therefore, some of the logic in CodeGenPrepare
that was originally added at revision 224899 can now be removed.

This patch is basically a no functional change. It removes the duplicated
logic in CodeGenPrepare and converts all the existing target specific tests
for cttz/ctlz into SimplifyCFG tests.

Differential Revision: http://reviews.llvm.org/D7608

llvm-svn: 229105
2015-02-13 14:15:48 +00:00
..
PowerPC [CodeGenPrepare] Removed duplicate logic. SimplifyCFG already knows how to speculate calls to cttz/ctlz. 2015-02-13 14:15:48 +00:00
R600 [CodeGenPrepare] Removed duplicate logic. SimplifyCFG already knows how to speculate calls to cttz/ctlz. 2015-02-13 14:15:48 +00:00
SPARC Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
X86 [TTI] Teach the cost heuristic how to query TLI to check if a zext/trunc is 'free' for the target. 2015-02-12 14:17:24 +00:00
2002-05-21-PHIElimination.ll
2002-09-24-PHIAssertion.ll
2003-03-07-DominateProblem.ll
2003-08-05-InvokeCrash.ll
2003-08-17-BranchFold.ll Converted 8x tests of SimplifyCFG to use FileCheck instead of grep. 2013-04-09 05:18:53 +00:00
2003-08-17-BranchFoldOrdering.ll Converted 8x tests of SimplifyCFG to use FileCheck instead of grep. 2013-04-09 05:18:53 +00:00
2003-08-17-FoldSwitch-dbg.ll Converted 8x tests of SimplifyCFG to use FileCheck instead of grep. 2013-04-09 05:18:53 +00:00
2003-08-17-FoldSwitch.ll Converted 8x tests of SimplifyCFG to use FileCheck instead of grep. 2013-04-09 05:18:53 +00:00
2004-12-10-SimplifyCFGCrash.ll
2005-06-16-PHICrash.ll
2005-08-01-PHIUpdateFail.ll
2005-10-02-InvokeSimplify.ll
2005-12-03-IncorrectPHIFold.ll Converted 8x tests of SimplifyCFG to use FileCheck instead of grep. 2013-04-09 05:18:53 +00:00
2006-02-17-InfiniteUnroll.ll
2006-06-12-InfLoop.ll
2006-08-03-Crash.ll
2006-10-19-UncondDiv.ll Converted 8x tests of SimplifyCFG to use FileCheck instead of grep. 2013-04-09 05:18:53 +00:00
2006-12-08-Ptr-ICmp-Branch.ll
2007-11-22-InvokeNoUnwind.ll Don't promote asynch EH invokes of nounwind functions to calls 2015-02-11 01:23:16 +00:00
2007-12-21-Crash.ll
2008-01-02-hoist-fp-add.ll [SimplifyCFG] Swap to using TargetTransformInfo for cost 2015-02-11 12:15:41 +00:00
2008-05-16-PHIBlockMerge.ll
2008-07-13-InfLoopMiscompile.ll
2008-09-08-MultiplePred.ll
2008-09-17-SpeculativeHoist.ll
2008-10-03-SpeculativelyExecuteBeforePHI.ll
2008-12-06-SingleEntryPhi.ll
2008-12-16-DCECond.ll
2009-01-18-PHIPropCrash.ll
2009-01-19-UnconditionalTrappingConstantExpr.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2009-05-12-externweak.ll
2010-03-30-InvokeCrash.ll
2011-03-08-UnreachableUse.ll
2011-09-05-TrivialLPad.ll
BrUnwind.ll
CoveredLookupTable.ll Teach simplify-cfg how to correctly create covered lookup tables for switches on iN with N >= 3. 2013-10-20 07:04:37 +00:00
DeadSetCC.ll
EmptyBlockMerge.ll Filecheckized 2x tests in SimplifyCFG and removed their date prefix to fit with current llvm style for test names. 2013-01-31 01:04:23 +00:00
EqualPHIEdgeBlockMerge.ll TryToSimplifyUncondBranchFromEmptyBlock was checking that any common 2013-07-11 08:28:20 +00:00
ForwardSwitchConditionToPHI.ll
HoistCode.ll
MagicPointer.ll Teach SimplifyCFG about address spaces 2013-10-21 18:55:08 +00:00
PHINode.ll Filecheckized 2x tests in SimplifyCFG and removed their date prefix to fit with current llvm style for test names. 2013-01-31 01:04:23 +00:00
PR9946.ll
PR16069.ll Second part of pr16069 2013-06-04 14:11:59 +00:00
PR17073.ll Fix for PR17073 ( http://llvm.org/pr17073 ), simplifycfg illegally hoists an operation in a phi node that can trap. 2014-07-07 21:19:00 +00:00
PhiBlockMerge.ll [SimplifyCFG] Swap to using TargetTransformInfo for cost 2015-02-11 12:15:41 +00:00
PhiBlockMerge2.ll
PhiEliminate.ll
PhiEliminate2.ll
PhiEliminate3.ll
PhiNoEliminate.ll
SpeculativeExec.ll [TTI] Improved cost heuristic for cttz/ctlz calls. 2015-02-11 14:22:18 +00:00
UncondBranchToReturn.ll
UnreachableEliminate.ll SimplifyCFG: don't remove unreachable default switch destinations 2015-01-26 19:52:32 +00:00
assume.ll Add @llvm.assume, lowering, and some basic properties 2014-07-25 21:13:35 +00:00
attr-noduplicate.ll SimplifyCFG: Don't duplicate calls to functions marked noduplicate v2 2013-10-21 20:07:30 +00:00
basictest.ll [PM] Port SimplifyCFG to the new pass manager. 2015-02-01 11:34:21 +00:00
branch-cond-merge.ll
branch-cond-prop.ll
branch-fold-dbg.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
branch-fold-test.ll
branch-fold-threshold.ll [SimplifyCFG] threshold for folding branches with common destination 2014-09-30 22:23:38 +00:00
branch-fold.ll
branch-phi-thread.ll
clamp.ll [SimplifyCFG] Add test for r229099 2015-02-13 11:08:40 +00:00
common-dest-folding.ll FoldBranchToCommonDest merges branches into a single branch with or/and of the condition. It has a heuristics for estimating when some of the dependencies are processed by out-of-order processors. This patch adds another rule to the heuristics that says that if the "BonusInstruction" that we speculatively execute is used by the condition of the second branch then it is okay to hoist it. This change exposes more opportunities for other passes to transform the code. It does not matter that much that we if-convert the code because the selectiondag builder splits or/and branches into multiple branches when profitable. 2013-11-12 22:37:16 +00:00
dbginfo.ll
dce-cond-after-folding-terminator.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
duplicate-phis.ll
extract-cost.ll Add ExtractValue instruction to SimplifyCFG's ComputeSpeculationCost 2014-05-09 17:02:46 +00:00
hoist-common-code.ll
hoist-dbgvalue.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
hoist-with-range.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
indirectbr.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
invoke.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
invoke_unwind.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
iterative-simplify.ll
lifetime.ll SimplifyCFG: Avoid miscompilations due to removed lifetime intrinsics. 2014-07-30 21:04:00 +00:00
multiple-phis.ll
no_speculative_loads_with_tsan.ll Don't speculate loads under ThreadSanitizer 2013-11-21 07:29:28 +00:00
noreturn-call.ll
phi-undef-loadstore.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
preserve-branchweights-partial.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
preserve-branchweights-switch-create.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
preserve-branchweights.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
return-merge.ll
seh-nounwind.ll Don't promote asynch EH invokes of nounwind functions to calls 2015-02-11 01:23:16 +00:00
select-gep.ll [SimplifyCFG] Swap to using TargetTransformInfo for cost 2015-02-11 12:15:41 +00:00
sink-common-code.ll [SimplifyCFG] Revise common code sinking 2014-12-23 08:26:55 +00:00
speculate-math.ll Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
speculate-store.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
speculate-vector-ops.ll Make bitcast, extractelement, and insertelement considered cheap for speculation. 2014-05-30 18:34:43 +00:00
speculate-with-offset.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
switch-masked-bits.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
switch-on-const-select.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
switch-range-to-icmp.ll SimplifyCFG: don't remove unreachable default switch destinations 2015-01-26 19:52:32 +00:00
switch-simplify-crash.ll
switch-to-br.ll Add some tests for SimplifyCFG's ConstantFoldTerminator(). NFC. 2014-12-04 22:19:25 +00:00
switch-to-icmp.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
switch-to-select-multiple-edge-per-block-phi.ll Switch to select optimization for two-case switches 2014-10-14 01:58:26 +00:00
switch-to-select-two-case.ll SimplifyCFG: don't remove unreachable default switch destinations 2015-01-26 19:52:32 +00:00
switch_create.ll Resolve TODO in test now that filecheck has multiple check prefixes. 2013-11-10 02:16:47 +00:00
switch_switch_fold.ll
switch_thread.ll
trap-debugloc.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
trapping-load-unreachable.ll IR: add a second ordering operand to cmpxhg for failure 2014-03-11 10:48:52 +00:00
two-entry-phi-return.ll
unreachable-blocks.ll
volatile-phioper.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00