Add an assert that checks whether liveins are up to date before
they are used.
- Do not print liveins into .mir files anymore in situations where they are out of date anyway.
- The assert in the RegisterScavenger is superseded by the new one in livein_begin().
- Skip parts of the liveness updating logic in IfConversion.cpp when liveness isn't tracked anymore (just enough to avoid hitting the new assert()).
Removing that assert seems strange.
I was thinking this is okay because it will be checked anyway when we use MachineBasicBlock::liveins(), but was this your intent?