mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
make gvn marginally faster by reallocating the lastSeenLoad map for
each basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48660 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
88365bb404
commit
2e60701b9d
@ -1287,15 +1287,16 @@ bool GVN::iterateOnFunction(Function &F) {
|
||||
DominatorTree &DT = getAnalysis<DominatorTree>();
|
||||
|
||||
SmallVector<Instruction*, 4> toErase;
|
||||
|
||||
DenseMap<Value*, LoadInst*> lastSeenLoad;
|
||||
|
||||
// Top-down walk of the dominator tree
|
||||
for (df_iterator<DomTreeNode*> DI = df_begin(DT.getRootNode()),
|
||||
E = df_end(DT.getRootNode()); DI != E; ++DI) {
|
||||
|
||||
// Get the set to update for this block
|
||||
ValueNumberedSet& currAvail = availableOut[DI->getBlock()];
|
||||
DenseMap<Value*, LoadInst*> lastSeenLoad;
|
||||
|
||||
lastSeenLoad.clear();
|
||||
|
||||
BasicBlock* BB = DI->getBlock();
|
||||
|
||||
// A block inherits AVAIL_OUT from its dominator
|
||||
|
Loading…
Reference in New Issue
Block a user