Home
last modified time | relevance | path

Searched refs:RegMask (Results 1 – 25 of 49) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DRegUsageInfoPropagate.cpp61 static void setRegMask(MachineInstr &MI, ArrayRef<uint32_t> RegMask) { in setRegMask() argument
62 assert(RegMask.size() == in setRegMask()
69 MO.setRegMask(RegMask.data()); in setRegMask()
122 const ArrayRef<uint32_t> RegMask = PRUI->getRegUsageInfo(F); in runOnMachineFunction() local
123 if (RegMask.empty()) in runOnMachineFunction()
125 setRegMask(MI, RegMask); in runOnMachineFunction()
H A DRegUsageInfoCollector.cpp122 std::vector<uint32_t> RegMask; in runOnMachineFunction() local
128 RegMask.resize(RegMaskSize, ~((uint32_t)0)); in runOnMachineFunction()
141 auto SetRegAsDefined = [&RegMask] (unsigned Reg) { in runOnMachineFunction()
142 RegMask[Reg / 32] &= ~(1u << Reg % 32); in runOnMachineFunction()
185 if (MachineOperand::clobbersPhysReg(&(RegMask[0]), PReg)) in runOnMachineFunction()
192 PRUI.storeUpdateRegUsageInfo(F, RegMask); in runOnMachineFunction()
H A DRegisterUsageInfo.cpp58 const Function &FP, ArrayRef<uint32_t> RegMask) { in storeUpdateRegUsageInfo() argument
59 RegMasks[&FP] = RegMask; in storeUpdateRegUsageInfo()
76 for (const auto &RegMask : RegMasks) in print() local
77 FPRMPairVector.push_back(&RegMask); in print()
H A DLiveRegUnits.cpp22 void LiveRegUnits::removeRegsNotPreserved(const uint32_t *RegMask) { in removeRegsNotPreserved() argument
25 if (MachineOperand::clobbersPhysReg(RegMask, *RootReg)) { in removeRegsNotPreserved()
33 void LiveRegUnits::addRegsInMask(const uint32_t *RegMask) { in addRegsInMask() argument
36 if (MachineOperand::clobbersPhysReg(RegMask, *RootReg)) { in addRegsInMask()
H A DMachineStableHash.cpp126 const uint32_t *RegMask = MO.getRegMask(); in stableHashValue() local
127 std::vector<llvm::stable_hash> RegMaskHashes(RegMask, in stableHashValue()
128 RegMask + RegMaskSize); in stableHashValue()
H A DMachineOperand.cpp354 const uint32_t *RegMask = getRegMask(); in isIdenticalTo() local
356 if (RegMask == OtherRegMask) in isIdenticalTo()
363 return std::equal(RegMask, RegMask + RegMaskSize, OtherRegMask); in isIdenticalTo()
424 const uint32_t *RegMask = MO.getRegMask(); in hash_value() local
425 std::vector<stable_hash> RegMaskHashes(RegMask, RegMask + RegMaskSize); in hash_value()
958 const uint32_t *RegMask = getRegLiveOut(); in print() local
965 if (RegMask[Reg / 32] & (1U << (Reg % 32))) { in print()
H A DMachineCopyPropagation.cpp875 const MachineOperand *RegMask = nullptr; in ForwardCopyPropagateBlock() local
878 RegMask = &MO; in ForwardCopyPropagateBlock()
898 if (RegMask) { in ForwardCopyPropagateBlock()
909 if (!RegMask->clobbersPhysReg(Reg)) { in ForwardCopyPropagateBlock()
H A DMIRPrinter.cpp268 static void printCustomRegMask(const uint32_t *RegMask, raw_ostream &OS, in printCustomRegMask() argument
270 assert(RegMask && "Can't print an empty register mask"); in printCustomRegMask()
276 if (RegMask[I / 32] & (1u << (I % 32))) { in printCustomRegMask()
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/AsmParser/
H A DM68kAsmParser.cpp83 RegMask, enumerator
111 uint16_t RegMask; member
276 case Kind::RegMask: in print()
277 OS << "RegMask(" << format("%04x", RegMask) << ")"; in print()
385 if (MemOp.Op == M68kMemOp::Kind::RegMask) in isMoveMask()
400 uint16_t MoveMask = MemOp.RegMask; in addMoveMaskOperands()
893 M68kMemOp MemOp(M68kMemOp::Kind::RegMask); in parseRegOrMoveMask()
894 MemOp.RegMask = 0; in parseRegOrMoveMask()
898 (MemOp.Op == M68kMemOp::Kind::RegMask) && (MemOp.RegMask == 0); in parseRegOrMoveMask()
929 MemOp.Op = M68kMemOp::Kind::RegMask; in parseRegOrMoveMask()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineOperand.h174 const uint32_t *RegMask; // For MO_RegisterMask and MO_RegisterLiveOut. member
642 /// clobbersPhysReg - Returns true if this RegMask clobbers PhysReg.
646 static bool clobbersPhysReg(const uint32_t *RegMask, MCRegister PhysReg) { in clobbersPhysReg() argument
649 return !(RegMask[PhysReg / 32] & (1u << PhysReg % 32)); in clobbersPhysReg()
652 /// clobbersPhysReg - Returns true if this RegMask operand clobbers PhysReg.
657 /// getRegMask - Returns a bit mask of registers preserved by this RegMask
661 return Contents.RegMask; in getRegMask()
672 return Contents.RegMask; in getRegLiveOut()
738 Contents.RegMask = RegMaskPtr; in setRegMask()
924 /// A RegMask operan
[all...]
H A DLiveRegUnits.h109 void removeRegsNotPreserved(const uint32_t *RegMask);
113 void addRegsInMask(const uint32_t *RegMask);
H A DRegisterUsageInfo.h52 ArrayRef<uint32_t> RegMask);
H A DMachineRegisterInfo.h903 void addPhysRegsUsedFromRegMask(const uint32_t *RegMask) { in addPhysRegsUsedFromRegMask() argument
904 UsedPhysRegMask.setBitsNotInMask(RegMask); in addPhysRegsUsedFromRegMask()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64CollectLOH.cpp486 static void handleRegMaskClobber(const uint32_t *RegMask, MCPhysReg Reg, in handleADRP()
488 if (!MachineOperand::clobbersPhysReg(RegMask, Reg)) in handleADRP()
499 const uint32_t *RegMask = MO.getRegMask(); in handleNormalInst()
501 handleRegMaskClobber(RegMask, Reg, LOHInfos); in handleNormalInst()
503 handleRegMaskClobber(RegMask, Reg, LOHInfos); in handleNormalInst() local
490 handleRegMaskClobber(const uint32_t * RegMask,MCPhysReg Reg,LOHInfo * LOHInfos) handleRegMaskClobber() argument
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUCallingConv.td237 // Trivial class to denote when a def is used only to get a RegMask, i.e.
240 class RegMask<dag mask> : CalleeSavedRegs<mask>;
242 def AMDGPU_AllVGPRs : RegMask<
246 def AMDGPU_AllAGPRs : RegMask<
250 def AMDGPU_AllVectorRegs : RegMask<
254 def AMDGPU_AllAllocatableSRegs : RegMask<
H A DGCNRegPressure.cpp620 LaneBitmask RegMask = MRI.getMaxLaneMaskForVReg(Reg); in getRegLiveThroughMask() local
621 if ((RegMask & Mask) == RegMask && IsInOneSegment(LI)) in getRegLiveThroughMask()
622 LiveThroughMask = RegMask; in getRegLiveThroughMask()
/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kRegisterInfo.cpp153 const uint32_t *RegMask = getCallPreservedMask(MF, CC); in getReservedRegs() local
154 if (MachineOperand::clobbersPhysReg(RegMask, getBaseRegister())) in getReservedRegs()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/JITLink/
H A Daarch32.cpp347 uint16_t Hi = R.Hi & FixupInfo<Kind>::RegMask.Hi; in applyFixupThumb()
348 uint16_t Lo = R.Lo & FixupInfo<Kind>::RegMask.Lo; in applyFixupThumb()
354 uint32_t Wd = R.Wd & FixupInfo<Kind>::RegMask; in applyFixupThumb()
360 static constexpr HalfWords Mask = FixupInfo<Kind>::RegMask; in applyFixupThumb()
369 static constexpr uint32_t Mask = FixupInfo<Kind>::RegMask; in applyFixupThumb()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZElimCompare.cpp629 const uint32_t *RegMask; in fuseCompareOperations() local
631 RegMask = MBBI->getOperand(3).getRegMask(); in fuseCompareOperations()
669 MIB.addRegMask(RegMask); in fuseCompareOperations()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp539 SmallVectorImpl<int> &RegMask = Dest[I]; in processShuffleMasks() local
540 if (RegMask.empty()) in processShuffleMasks()
545 FirstMask = RegMask; in processShuffleMasks()
549 SecondMask = RegMask; in processShuffleMasks()
553 RegMask.clear(); in processShuffleMasks()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/MCTargetDesc/
H A DAArch64MCCodeEmitter.cpp606 unsigned RegMask = MI.getOperand(OpIdx).getImm(); in getImm8OptLsl()
607 assert(RegMask <= 0xFF && "Invalid register mask!"); in getImm8OptLsl()
608 return RegMask;
577 unsigned RegMask = MI.getOperand(OpIdx).getImm(); EncodeMatrixTileListRegisterClass() local
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ISelLoweringCall.cpp1097 uint32_t *RegMask) const { in LowerCallResult()
1114 if (RegMask) { in LowerCallResult()
1116 RegMask[SubReg / 32] &= ~(1u << (SubReg % 32)); in LowerCallResult()
2469 uint32_t *RegMask = nullptr; in LowerCall() local
2480 RegMask = MF.allocateRegMask(); in LowerCall()
2482 memcpy(RegMask, Mask, sizeof(RegMask[0]) * RegMaskSize); in LowerCall()
2489 RegMask[SubReg / 32] &= ~(1u << (SubReg % 32)); in LowerCall()
2493 Ops.push_back(DAG.getRegisterMask(RegMask)); in LowerCall()
2583 InVals, RegMask); in LowerCall()
/freebsd/contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/
H A Daarch32.h199 /// RegMask - Mask with all bits set that encode the register
225 static constexpr uint32_t RegMask = 0x0000f000;
253 static constexpr HalfWords RegMask{0x0000, 0x0f00};
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DScheduleDAGRRList.cpp1321 static void CheckForLiveRegDefMasked(SUnit *SU, const uint32_t *RegMask, in CheckForLiveRegDefMasked() argument
1329 if (!MachineOperand::clobbersPhysReg(RegMask, i)) continue; in CheckForLiveRegDefMasked()
1417 if (const uint32_t *RegMask = getNodeRegMask(Node)) in DelayForLiveRegsBottomUp() local
1418 CheckForLiveRegDefMasked(SU, RegMask, in DelayForLiveRegsBottomUp()
2862 const uint32_t *RegMask = getNodeRegMask(SU->getNode()); in canClobberReachingPhysRegUse() local
2863 if (ImpDefs.empty() && !RegMask) in canClobberReachingPhysRegUse()
2872 if (RegMask && in canClobberReachingPhysRegUse()
2873 MachineOperand::clobbersPhysReg(RegMask, SuccPred.getReg()) && in canClobberReachingPhysRegUse()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMLowOverheadLoops.cpp1021 for (const MachineBasicBlock::RegisterMaskPair &RegMask : ExitBB->liveins()) { in ValidateLiveOuts() local
1024 if (RegMask.PhysReg == ARM::VPR) { in ValidateLiveOuts()
1030 if (QPRs->contains(RegMask.PhysReg)) in ValidateLiveOuts()
1031 if (auto *MI = RDA.getLocalLiveOutMIDef(Header, RegMask.PhysReg)) in ValidateLiveOuts()

12