SystemZ (and probably other targets as well) can fold a memory operand by changing the opcode into a new instruction that as a side-effect also clobbers the CC-reg.
In order to do this, liveness of that reg must first be checked.
When LIS is passed, getRegUnit() can be called on it and the right LiveRange is computed on demand.
(originated on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098301.html)
huh, does this compile with 3 arguments to the first foldMemoryOperand() call?