When replacing value numbers, make sure to compactify the value # space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29865 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-08-24 23:22:59 +00:00
parent bf16982e86
commit c82b3aab65

View File

@ -470,6 +470,18 @@ void LiveInterval::MergeValueNumberInto(unsigned V1, unsigned V2) {
}
}
}
// Now that V1 is dead, remove it. If it is the largest value number, just
// nuke it (and any other deleted values neighboring it), otherwise mark it as
// ~1U so it can be nuked later.
if (V1 == NumValues-1) {
do {
InstDefiningValue.pop_back();
--NumValues;
} while (InstDefiningValue.back() == ~1U);
} else {
InstDefiningValue[V1] = ~1U;
}
}