mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-21 16:25:23 +00:00
[PM] Replace the Pass argument to SplitEdge with specific analyses used
and updated. This may appear to remove handling for things like alias analysis when splitting critical edges here, but in fact no callers of SplitEdge relied on this. Similarly, all of them wanted to preserve LCSSA if there was any update of the loop info. That makes the interface much simpler. With this, all of BasicBlockUtils.h is free of Pass arguments and prepared for the new pass manager. This is tho majority of utilities that relied on pass arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226459 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -28,7 +28,6 @@ class DominatorTree;
|
||||
class LoopInfo;
|
||||
class Instruction;
|
||||
class MDNode;
|
||||
class Pass;
|
||||
class ReturnInst;
|
||||
class TargetLibraryInfo;
|
||||
class TerminatorInst;
|
||||
@@ -191,9 +190,9 @@ unsigned SplitAllCriticalEdges(Function &F,
|
||||
const CriticalEdgeSplittingOptions &Options =
|
||||
CriticalEdgeSplittingOptions());
|
||||
|
||||
/// SplitEdge - Split the edge connecting specified block. Pass P must
|
||||
/// not be NULL.
|
||||
BasicBlock *SplitEdge(BasicBlock *From, BasicBlock *To, Pass *P);
|
||||
/// SplitEdge - Split the edge connecting specified block.
|
||||
BasicBlock *SplitEdge(BasicBlock *From, BasicBlock *To,
|
||||
DominatorTree *DT = nullptr, LoopInfo *LI = nullptr);
|
||||
|
||||
/// SplitBlock - Split the specified block at the specified instruction - every
|
||||
/// thing before SplitPt stays in Old and everything starting with SplitPt moves
|
||||
|
Reference in New Issue
Block a user