In transferRegisterDef, if the instruction has a regmask attached, we'll
check if any currently used register is clobbered by the regmask.
The early exit in this scan isn't necessary, costs a set lookup, and is
almost never taken [1]. Delete it.
[1]
http://lab.llvm.org:8080/coverage/coverage-reports/coverage/Users/buildslave/jenkins/workspace/coverage/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp.html#L1136
SmallVector<uint32_t, 32> UsedRegs;
getUsedRegs(OpenRanges.getVarLocs(), UsedRegs);
for (uint32_t Reg : UsedRegs) {
- // The VarLocs residing in this register are already in the kill set.
- if (DeadRegs.count(Reg))
- continue;
-
// Remove ranges of all clobbered registers. Register masks don't usually
// list SP as preserved. Assume that call instructions never clobber SP,
// because some backends (e.g., AArch64) never list SP in the regmask.