[llvm] [LiveRegUnits] Avoid accidentally O(n^2) loop in addCalleeSavedRegs (NFC) (PR #214740)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 7 07:10:25 PDT 2026
================
@@ -105,17 +105,8 @@ static void addBlockLiveOuts(LiveRegUnits &LiveUnits,
static void addCalleeSavedRegs(LiveRegUnits &LiveUnits,
const MachineFunction &MF) {
const MachineRegisterInfo &MRI = MF.getRegInfo();
- const MachineFrameInfo &MFI = MF.getFrameInfo();
- for (const MCPhysReg *CSR = MRI.getCalleeSavedRegs(); CSR && *CSR; ++CSR) {
- const unsigned N = *CSR;
-
- const auto &CSI = MFI.getCalleeSavedInfo();
- auto Info =
- llvm::find_if(CSI, [N](auto Info) { return Info.getReg() == N; });
- // If we have no info for this callee-saved register, assume it is liveout
- if (Info == CSI.end() || Info->isRestored())
----------------
MacDue wrote:
Note: This was only relevant for `addLiveOuts` all other users of `addCalleeSavedRegs` remove all registers from CalleeSavedInfo.
https://github.com/llvm/llvm-project/pull/214740
More information about the llvm-commits
mailing list