[llvm] 243632c - LiveRegUnits: Cleanup isReg checks
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 13 05:20:02 PDT 2022
Author: Matt Arsenault
Date: 2022-09-13T08:19:53-04:00
New Revision: 243632c63eb9f3e2e746cfb88e7b05a50b5edd4d
URL: https://github.com/llvm/llvm-project/commit/243632c63eb9f3e2e746cfb88e7b05a50b5edd4d
DIFF: https://github.com/llvm/llvm-project/commit/243632c63eb9f3e2e746cfb88e7b05a50b5edd4d.diff
LOG: LiveRegUnits: Cleanup isReg checks
This is the common case and should be checked first. Provides a very
marginal compile time improvement on the example I'm looking at.
Added:
Modified:
llvm/lib/CodeGen/LiveRegUnits.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/LiveRegUnits.cpp b/llvm/lib/CodeGen/LiveRegUnits.cpp
index b913e5543729..0b20e917e036 100644
--- a/llvm/lib/CodeGen/LiveRegUnits.cpp
+++ b/llvm/lib/CodeGen/LiveRegUnits.cpp
@@ -40,13 +40,16 @@ void LiveRegUnits::addRegsInMask(const uint32_t *RegMask) {
void LiveRegUnits::stepBackward(const MachineInstr &MI) {
// Remove defined registers and regmask kills from the set.
for (const MachineOperand &MOP : MI.operands()) {
+ if (MOP.isReg()) {
+ if (MOP.isDef() && MOP.getReg().isPhysical())
+ removeReg(MOP.getReg());
+ continue;
+ }
+
if (MOP.isRegMask()) {
removeRegsNotPreserved(MOP.getRegMask());
continue;
}
-
- if (MOP.isReg() && MOP.isDef() && MOP.getReg().isPhysical())
- removeReg(MOP.getReg());
}
// Add uses to the set.
@@ -54,7 +57,7 @@ void LiveRegUnits::stepBackward(const MachineInstr &MI) {
if (!MOP.isReg() || !MOP.readsReg())
continue;
- if (MOP.getReg() && MOP.getReg().isPhysical())
+ if (MOP.getReg().isPhysical())
addReg(MOP.getReg());
}
}
More information about the llvm-commits
mailing list