This website requires JavaScript.
Explore
Mirrors
Help
Sign In
6502
/
llvm-6502
Watch
1
Star
0
Fork
0
You've already forked llvm-6502
mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced
2025-01-06 04:31:08 +00:00
Code
Issues
Projects
Releases
Wiki
Activity
1357859c0d
llvm-6502
/
test
/
Transforms
/
SimplifyCFG
History
Nadav Rotem
f3bd3ea3fe
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.
...
git-svn-id:
https://llvm.org/svn/llvm-project/llvm/trunk@194524
91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-12 22:37:16 +00:00
..
SPARC
[tests] Cleanup initialization of test suffixes.
2013-08-16 00:37:11 +00:00
X86
SimplifyCFG: Use existing constant folding logic when forming switch tables.
2013-11-12 12:24:36 +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
2003-08-17-BranchFoldOrdering.ll
2003-08-17-FoldSwitch-dbg.ll
2003-08-17-FoldSwitch.ll
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
2006-02-17-InfiniteUnroll.ll
2006-06-12-InfLoop.ll
2006-08-03-Crash.ll
2006-10-19-UncondDiv.ll
2006-12-08-Ptr-ICmp-Branch.ll
2007-11-22-InvokeNoUnwind.ll
2007-12-21-Crash.ll
2008-01-02-hoist-fp-add.ll
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
2009-05-12-externweak.ll
2010-03-30-InvokeCrash.ll
2011-03-08-UnreachableUse.ll
2011-09-05-TrivialLPad.ll
attr-noduplicate.ll
SimplifyCFG: Don't duplicate calls to functions marked noduplicate v2
2013-10-21 20:07:30 +00:00
basictest.ll
branch-cond-merge.ll
branch-cond-prop.ll
branch-fold-dbg.ll
Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields.
2013-09-06 21:03:58 +00:00
branch-fold-test.ll
branch-fold.ll
branch-phi-thread.ll
BrUnwind.ll
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
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
dbginfo.ll
dce-cond-after-folding-terminator.ll
DeadSetCC.ll
duplicate-phis.ll
EmptyBlockMerge.ll
EqualPHIEdgeBlockMerge.ll
ForwardSwitchConditionToPHI.ll
hoist-common-code.ll
hoist-dbgvalue.ll
Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields.
2013-09-06 21:03:58 +00:00
HoistCode.ll
indirectbr.ll
invoke_unwind.ll
invoke.ll
iterative-simplify.ll
lifetime.ll
MagicPointer.ll
Teach SimplifyCFG about address spaces
2013-10-21 18:55:08 +00:00
multiple-phis.ll
noreturn-call.ll
phi-undef-loadstore.ll
PhiBlockMerge2.ll
PhiBlockMerge.ll
PhiEliminate2.ll
PhiEliminate3.ll
PhiEliminate.ll
PHINode.ll
PhiNoEliminate.ll
PR9946.ll
PR16069.ll
preserve-branchweights-partial.ll
preserve-branchweights-switch-create.ll
preserve-branchweights.ll
return-merge.ll
select-gep.ll
sink-common-code.ll
speculate-store.ll
speculate-with-offset.ll
SpeculativeExec.ll
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
switch-masked-bits.ll
switch-on-const-select.ll
switch-simplify-crash.ll
switch-to-icmp.ll
trap-debugloc.ll
Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields.
2013-09-06 21:03:58 +00:00
trapping-load-unreachable.ll
trivial-throw.ll
two-entry-phi-return.ll
UncondBranchToReturn.ll
unreachable-blocks.ll
UnreachableEliminate.ll
volatile-phioper.ll
Use function attributes to indicate that we don't want to realign the stack.
2013-08-01 21:42:05 +00:00