mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-23 12:40:17 +00:00
Re-fix a bug, where I was now being too aggressive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37348 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cdf8efde6a
commit
e3072b292f
@ -376,6 +376,8 @@ bool GVNPRE::runOnFunction(Function &F) {
|
||||
|
||||
// Second Phase of BuildSets - calculate ANTIC_IN
|
||||
|
||||
std::set<BasicBlock*> visited;
|
||||
|
||||
bool changed = true;
|
||||
unsigned iterations = 0;
|
||||
while (changed) {
|
||||
@ -388,6 +390,8 @@ bool GVNPRE::runOnFunction(Function &F) {
|
||||
PDI != E; ++PDI) {
|
||||
BasicBlock* BB = PDI->getBlock();
|
||||
|
||||
visited.insert(BB);
|
||||
|
||||
std::set<Expression>& anticIn = anticipatedIn[BB];
|
||||
std::set<Expression> old (anticIn.begin(), anticIn.end());
|
||||
|
||||
@ -397,7 +401,7 @@ bool GVNPRE::runOnFunction(Function &F) {
|
||||
for (unsigned i = 0; i < BB->getTerminator()->getNumSuccessors(); ++i) {
|
||||
BasicBlock* currSucc = BB->getTerminator()->getSuccessor(i);
|
||||
std::set<Expression> temp;
|
||||
if (i == 0)
|
||||
if (visted.find(currSucc) == visited.end())
|
||||
temp.insert(maximalSet.begin(), maximalSet.end());
|
||||
else
|
||||
temp.insert(anticIn.begin(), anticIn.end());
|
||||
|
Loading…
Reference in New Issue
Block a user