SIL: SILUndef must be aware of the resilience expansion

The ownership kind is Any for trivial types, or Owned otherwise, but
whether a type is trivial or not will soon depend on the resilience
expansion.

This means that a SILModule now uniques two SILUndefs per type instead
of one, and serialization uses two distinct sentinel IDs for this
purpose as well.

For now, the resilience expansion is not actually used here, so this
change is NFC, other than changing the module format.
This commit is contained in:
Slava Pestov
2019-03-11 22:21:08 -04:00
parent 18f2d9294e
commit c791c4a137
43 changed files with 129 additions and 121 deletions

View File

@@ -325,7 +325,7 @@ void LoopCloner::collectLoopLiveOutValues(
static void
updateSSA(SILModule &M, SILLoop *Loop,
DenseMap<SILValue, SmallVector<SILValue, 8>> &LoopLiveOutValues) {
SILSSAUpdater SSAUp(M);
SILSSAUpdater SSAUp;
for (auto &MapEntry : LoopLiveOutValues) {
// Collect out of loop uses of this value.
auto OrigValue = MapEntry.first;