RestructureCFG: fix NDuplicates

This commit is contained in:
Pietro Fezzardi
2020-10-30 01:12:03 +01:00
parent 27f850e433
commit 2b599d0ebc
3 changed files with 113 additions and 62 deletions
+4 -2
View File
@@ -102,8 +102,10 @@ Analysis::InterruptType Analysis::transfer(BasicBlock *BB) {
continue;
}
Instruction *UserI = cast<Instruction>(U);
if (NBBDuplicates != NDuplicates.at(UserI->getParent())) {
// revng_assert(NBBDuplicates < NDuplicates.at(UserI->getParent()));
auto *UserBB = UserI->getParent();
auto NUserDuplicates = NDuplicates.at(UserBB);
revng_assert(isa<PHINode>(UserI) or NBBDuplicates <= NUserDuplicates);
if (NBBDuplicates < NUserDuplicates) {
markValueToSerialize(&I);
} else {
Pending.insert(&I);