mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-11 16:37:42 +00:00
[PM] Cleanup a dead option to critical edge splitting that I noticed
while refactoring this API for the new pass manager. No functionality changed here, the code didn't actually support this option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226457 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
08962f208b
commit
adf74a6403
@ -86,27 +86,23 @@ struct CriticalEdgeSplittingOptions {
|
||||
LoopInfo *LI;
|
||||
bool MergeIdenticalEdges;
|
||||
bool DontDeleteUselessPHIs;
|
||||
bool SplitLandingPads;
|
||||
bool PreserveLCSSA;
|
||||
|
||||
CriticalEdgeSplittingOptions()
|
||||
: AA(nullptr), DT(nullptr), LI(nullptr), MergeIdenticalEdges(false),
|
||||
DontDeleteUselessPHIs(false), SplitLandingPads(false),
|
||||
PreserveLCSSA(false) {}
|
||||
DontDeleteUselessPHIs(false), PreserveLCSSA(false) {}
|
||||
|
||||
/// \brief Basic case of setting up all the analysis.
|
||||
CriticalEdgeSplittingOptions(AliasAnalysis *AA, DominatorTree *DT = nullptr,
|
||||
LoopInfo *LI = nullptr)
|
||||
: AA(AA), DT(DT), LI(LI), MergeIdenticalEdges(false),
|
||||
DontDeleteUselessPHIs(false), SplitLandingPads(false),
|
||||
PreserveLCSSA(false) {}
|
||||
DontDeleteUselessPHIs(false), PreserveLCSSA(false) {}
|
||||
|
||||
/// \brief A common pattern is to preserve the dominator tree and loop
|
||||
/// info but not care about AA.
|
||||
CriticalEdgeSplittingOptions(DominatorTree *DT, LoopInfo *LI)
|
||||
: AA(nullptr), DT(DT), LI(LI), MergeIdenticalEdges(false),
|
||||
DontDeleteUselessPHIs(false), SplitLandingPads(false),
|
||||
PreserveLCSSA(false) {}
|
||||
DontDeleteUselessPHIs(false), PreserveLCSSA(false) {}
|
||||
|
||||
CriticalEdgeSplittingOptions &setMergeIdenticalEdges() {
|
||||
MergeIdenticalEdges = true;
|
||||
@ -118,11 +114,6 @@ struct CriticalEdgeSplittingOptions {
|
||||
return *this;
|
||||
}
|
||||
|
||||
CriticalEdgeSplittingOptions &setSplitLandingPads() {
|
||||
SplitLandingPads = true;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CriticalEdgeSplittingOptions &setPreserveLCSSA() {
|
||||
PreserveLCSSA = true;
|
||||
return *this;
|
||||
|
@ -706,9 +706,7 @@ void LoopUnswitch::EmitPreheaderBranchOnCondition(Value *LIC, Constant *Val,
|
||||
|
||||
// If either edge is critical, split it. This helps preserve LoopSimplify
|
||||
// form for enclosing loops.
|
||||
auto Options = CriticalEdgeSplittingOptions(DT, LI)
|
||||
.setPreserveLCSSA()
|
||||
.setSplitLandingPads();
|
||||
auto Options = CriticalEdgeSplittingOptions(DT, LI).setPreserveLCSSA();
|
||||
SplitCriticalEdge(BI, 0, Options);
|
||||
SplitCriticalEdge(BI, 1, Options);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user