[llvm] [AMDGPU] Skip register uses in AMDGPUResourceUsageAnalysis (PR #133242)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu May 1 07:16:06 PDT 2025
================
@@ -4053,6 +4053,21 @@ SIRegisterInfo::getNumUsedPhysRegs(const MachineRegisterInfo &MRI,
return 0;
}
+unsigned
+SIRegisterInfo::getNumDefinedPhysRegs(const MachineRegisterInfo &MRI,
+ const TargetRegisterClass &RC) const {
+ auto isDefinedByImplicitDef = [](MachineOperand &Op) {
+ return Op.getParent()->isImplicitDef();
+ };
+
+ for (MCPhysReg Reg : reverse(RC.getRegisters()))
+ for (MCRegAliasIterator AI(Reg, this, true); AI.isValid(); ++AI)
+ if (!(MRI.def_empty(*AI) || std::all_of(MRI.def_begin(*AI), MRI.def_end(),
----------------
arsenm wrote:
def_empty is redundant. Also use all_of(MRI.def_instructions()), you don't care about the specific def operands
https://github.com/llvm/llvm-project/pull/133242
More information about the llvm-commits
mailing list