mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-06 09:44:39 +00:00
Implement Simple Analysis interfaces - cloneBasicBlockAnalysis and deleteAnalysisValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40626 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c7e49c08c2
commit
91d22c8b1e
@ -102,6 +102,13 @@ namespace {
|
||||
AliasSetTracker *CurAST; // AliasSet information for the current loop...
|
||||
std::map<Loop *, AliasSetTracker *> LoopToAliasMap;
|
||||
|
||||
/// cloneBasicBlockAnalysis - Simple Analysis hook. Clone alias set info.
|
||||
void cloneBasicBlockAnalysis(BasicBlock *From, BasicBlock *To, Loop *L);
|
||||
|
||||
/// deleteAnalysisValue - Simple Analysis hook. Delete value V from alias
|
||||
/// set.
|
||||
void deleteAnalysisValue(Value *V, Loop *L);
|
||||
|
||||
/// SinkRegion - Walk the specified region of the CFG (defined by all blocks
|
||||
/// dominated by the specified block, and that are in the current loop) in
|
||||
/// reverse depth first order w.r.t the DominatorTree. This allows us to
|
||||
@ -798,3 +805,22 @@ void LICM::FindPromotableValuesInLoop(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// cloneBasicBlockAnalysis - Simple Analysis hook. Clone alias set info.
|
||||
void LICM::cloneBasicBlockAnalysis(BasicBlock *From, BasicBlock *To, Loop *L) {
|
||||
AliasSetTracker *AST = LoopToAliasMap[L];
|
||||
if (!AST)
|
||||
return;
|
||||
|
||||
AST->copyValue(From, To);
|
||||
}
|
||||
|
||||
/// deleteAnalysisValue - Simple Analysis hook. Delete value V from alias
|
||||
/// set.
|
||||
void LICM::deleteAnalysisValue(Value *V, Loop *L) {
|
||||
AliasSetTracker *AST = LoopToAliasMap[L];
|
||||
if (!AST)
|
||||
return;
|
||||
|
||||
AST->deleteValue(V);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user