Lines Matching +full:csr +full:- +full:mask

1 //===--- LivePhysRegs.cpp - Live Physical Register Set --------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
21 #include "llvm/Config/llvm-config.h"
28 /// mask.
37 Clobbers->push_back(std::make_pair(*LRI, &MO)); in removeRegsInMask()
77 /// killed-uses, add defs. This is the not recommended way, because it depends
84 if (O->isReg()) { in stepForward()
85 if (O->isDebug()) in stepForward()
87 Register Reg = O->getReg(); in stepForward()
90 if (O->isDef()) { in stepForward()
95 assert(O->isUse()); in stepForward()
96 if (O->isKill()) in stepForward()
99 } else if (O->isRegMask()) { in stepForward()
108 if (Reg.second->isReg() && Reg.second->isDead()) in stepForward()
110 if (Reg.second->isRegMask() && in stepForward()
111 MachineOperand::clobbersPhysReg(Reg.second->getRegMask(), Reg.first)) in stepForward()
154 /// Add live-in registers of basic block \p MBB to \p LiveRegs.
158 LaneBitmask Mask = LI.LaneMask; in addBlockLiveIns() local
160 assert(Mask.any() && "Invalid livein mask"); in addBlockLiveIns()
161 if (Mask.all() || !S.isValid()) { in addBlockLiveIns()
167 if ((Mask & TRI->getSubRegIndexLaneMask(SI)).any()) in addBlockLiveIns()
177 for (const MCPhysReg *CSR = MRI.getCalleeSavedRegs(); CSR && *CSR; ++CSR) in addCalleeSavedRegs() local
178 LiveRegs.addReg(*CSR); in addCalleeSavedRegs()
196 /// If a callee-saved register that is not pristine is already present in addPristines()
210 // To get the live-outs we simply merge the live-ins of all successors. in addLiveOutsNoPristines()
216 // use for callee-saved registers. So we add all callee saved registers in addLiveOutsNoPristines()
260 assert(MBB.livein_empty() && "Expected empty live-in list"); in addLiveIns()
290 if (!MO->isReg() || !MO->isDef() || MO->isDebug()) in recomputeLivenessFlags()
293 Register Reg = MO->getReg(); in recomputeLivenessFlags()
300 // Special-case return instructions for cases when a return is not in recomputeLivenessFlags()
311 MO->setIsDead(IsNotLive); in recomputeLivenessFlags()
319 if (!MO->isReg() || !MO->readsReg() || MO->isDebug()) in recomputeLivenessFlags()
322 Register Reg = MO->getReg(); in recomputeLivenessFlags()
328 MO->setIsKill(IsNotLive); in recomputeLivenessFlags()