HomeSort by relevance Sort by last modified time
    Searched refs:RegMask (Results 1 - 25 of 47) sorted by null

1 2

  /external/llvm/lib/CodeGen/
RegUsageInfoCollector.cpp 15 /// MRI::isPhysRegUsed() then creates a RegMask based on this details.
16 /// The pass then stores this RegMask in PhysicalRegisterUsageInfo.cpp
62 void markRegClobbered(const TargetRegisterInfo *TRI, uint32_t *RegMask,
80 uint32_t *RegMask, unsigned PReg) {
83 RegMask[*AI / 32] &= ~(1u << *AI % 32);
101 std::vector<uint32_t> RegMask;
107 RegMask.resize(RegMaskSize, 0xFFFFFFFF);
119 markRegClobbered(TRI, &RegMask[0], PReg);
126 RegMask[i] = RegMask[i] | CallPreservedMask[i]
    [all...]
RegUsageInfoPropagate.cpp 14 /// each callsite queries RegisterUsageInfo for RegMask (calculated based on
15 /// actual register allocation) of the callee function, if the RegMask detail
16 /// is available then this pass will update the RegMask of the call instruction.
17 /// This updated RegMask will be used by the register allocator while allocating
64 static void setRegMask(MachineInstr &MI, const uint32_t *RegMask) {
67 MO.setRegMask(RegMask);
109 const auto *RegMask = PRUI->getRegUsageInfo(F);
110 if (!RegMask)
112 setRegMask(MI, &(*RegMask)[0]);
RegisterUsageInfo.cpp 50 const Function *FP, std::vector<uint32_t> RegMask) {
52 RegMasks[FP] = std::move(RegMask);
70 for (const auto &RegMask : RegMasks)
71 FPRMPairVector.push_back(&RegMask);
MachineCopyPropagation.cpp 95 /// Remove any entry in \p Map that is marked clobbered in \p RegMask.
96 /// The map will typically have a lot fewer entries than the regmask clobbers,
100 const MachineOperand &RegMask) {
105 if (RegMask.clobbersPhysReg(Reg))
256 const MachineOperand *RegMask = nullptr;
259 RegMask = &MO;
296 if (RegMask) {
305 if (!RegMask->clobbersPhysReg(Reg)) {
310 DEBUG(dbgs() << "MCP: Removing copy due to regmask clobbering: ";
321 removeClobberedRegsFromMap(AvailCopyMap, *RegMask);
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
RegUsageInfoPropagate.cpp 14 /// each callsite queries RegisterUsageInfo for RegMask (calculated based on
15 /// actual register allocation) of the callee function, if the RegMask detail
16 /// is available then this pass will update the RegMask of the call instruction.
17 /// This updated RegMask will be used by the register allocator while allocating
65 static void setRegMask(MachineInstr &MI, ArrayRef<uint32_t> RegMask) {
66 assert(RegMask.size() ==
73 MO.setRegMask(RegMask.data());
126 const ArrayRef<uint32_t> RegMask = PRUI->getRegUsageInfo(F);
127 if (RegMask.empty())
129 setRegMask(MI, RegMask);
    [all...]
RegisterUsageInfo.cpp 61 const Function &FP, ArrayRef<uint32_t> RegMask) {
62 RegMasks[&FP] = RegMask;
79 for (const auto &RegMask : RegMasks)
80 FPRMPairVector.push_back(&RegMask);
RegUsageInfoCollector.cpp 15 /// MRI::isPhysRegUsed() then creates a RegMask based on this details.
16 /// The pass then stores this RegMask in PhysicalRegisterUsageInfo.cpp
90 std::vector<uint32_t> RegMask;
96 RegMask.resize(RegMaskSize, ~((uint32_t)0));
109 auto SetRegAsDefined = [&RegMask] (unsigned Reg) {
110 RegMask[Reg / 32] &= ~(1u << Reg % 32);
113 // function set it and all the aliasing registers as defined in the regmask.
140 if (MachineOperand::clobbersPhysReg(&(RegMask[0]), PReg))
145 PRUI.storeUpdateRegUsageInfo(F, RegMask);
LiveRegUnits.cpp 27 void LiveRegUnits::removeRegsNotPreserved(const uint32_t *RegMask) {
30 if (MachineOperand::clobbersPhysReg(RegMask, *RootReg))
36 void LiveRegUnits::addRegsInMask(const uint32_t *RegMask) {
39 if (MachineOperand::clobbersPhysReg(RegMask, *RootReg))
46 // Remove defined registers and regmask kills from the set.
71 // Add defs, uses and regmask clobbers to the set.
MachineCopyPropagation.cpp 150 /// Remove any entry in \p Map that is marked clobbered in \p RegMask.
151 /// The map will typically have a lot fewer entries than the regmask clobbers,
155 const MachineOperand &RegMask) {
160 if (RegMask.clobbersPhysReg(Reg))
504 const MachineOperand *RegMask = nullptr;
507 RegMask = &MO;
527 if (RegMask) {
536 if (!RegMask->clobbersPhysReg(Reg)) {
541 LLVM_DEBUG(dbgs() << "MCP: Removing copy due to regmask clobbering: ";
552 removeClobberedRegsFromMap(AvailCopyMap, *RegMask);
    [all...]
MachineOperand.cpp 33 PrintRegMaskNumRegs("print-regmask-num-regs",
35 "printing regmask operands in IR dumps. "
295 const uint32_t *RegMask = getRegMask();
297 if (RegMask == OtherRegMask)
301 // Calculate the size of the RegMask
306 return std::equal(RegMask, RegMask + RegMaskSize, OtherRegMask);
308 // We don't know the size of the RegMask, so we can't deep compare the two
847 OS << "<regmask";
872 const uint32_t *RegMask = getRegLiveOut()
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
RegisterUsageInfo.h 50 /// To store RegMask for given Function *.
52 ArrayRef<uint32_t> RegMask);
54 /// To query stored RegMask for given Function *, it will returns ane empty
61 /// A Dense map from Function * to RegMask.
62 /// In RegMask 0 means register used (clobbered) by function.
LiveRegUnits.h 109 /// Removes register units not preserved by the regmask \p RegMask.
110 /// The regmask has the same format as the one in the RegMask machine operand.
111 void removeRegsNotPreserved(const uint32_t *RegMask);
113 /// Adds register units not preserved by the regmask \p RegMask.
114 /// The regmask has the same format as the one in the RegMask machine operand.
115 void addRegsInMask(const uint32_t *RegMask);
    [all...]
MachineOperand.h 169 const uint32_t *RegMask; // For MO_RegisterMask and MO_RegisterLiveOut.
597 /// clobbersPhysReg - Returns true if this RegMask clobbers PhysReg.
601 static bool clobbersPhysReg(const uint32_t *RegMask, unsigned PhysReg) {
604 return !(RegMask[PhysReg / 32] & (1u << PhysReg % 32));
607 /// clobbersPhysReg - Returns true if this RegMask operand clobbers PhysReg.
612 /// getRegMask - Returns a bit mask of registers preserved by this RegMask
616 return Contents.RegMask;
619 /// Returns number of elements needed for a regmask array.
627 return Contents.RegMask;
684 Contents.RegMask = RegMaskPtr
    [all...]
MachineRegisterInfo.h     [all...]
  /external/llvm/include/llvm/CodeGen/
RegisterUsageInfo.h 55 /// To store RegMask for given Function *.
57 std::vector<uint32_t> RegMask);
59 /// To query stored RegMask for given Function *, it will return nullptr if
66 /// A Dense map from Function * to RegMask.
67 /// In RegMask 0 means register used (clobbered) by function.
MachineOperand.h 159 const uint32_t *RegMask; // For MO_RegisterMask and MO_RegisterLiveOut.
471 /// clobbersPhysReg - Returns true if this RegMask clobbers PhysReg.
475 static bool clobbersPhysReg(const uint32_t *RegMask, unsigned PhysReg) {
478 return !(RegMask[PhysReg / 32] & (1u << PhysReg % 32));
481 /// clobbersPhysReg - Returns true if this RegMask operand clobbers PhysReg.
486 /// getRegMask - Returns a bit mask of registers preserved by this RegMask
490 return Contents.RegMask;
496 return Contents.RegMask;
543 Contents.RegMask = RegMaskPtr;
694 /// A RegMask operand represents a set of non-clobbered physical registers o
    [all...]
MachineRegisterInfo.h 717 /// addPhysRegsUsedFromRegMask - Mark any registers not in RegMask as used.
719 void addPhysRegsUsedFromRegMask(const uint32_t *RegMask) {
720 UsedPhysRegMask.setBitsNotInMask(RegMask);
    [all...]
  /external/swiftshader/third_party/subzero/src/
IceRegAlloc.h 36 void scan(const SmallBitVector &RegMask, bool Randomized);
66 SmallBitVector RegMask;
IceRegAlloc.cpp 87 const SmallBitVector &RegMask,
90 for (RegNumT i : RegNumBVIter(RegMask)) {
417 // Remove from RegMask any physical registers referenced during Cur's live
425 Iter.RegMask[RegAlias] = false;
434 const RegNumT RegNum = *RegNumBVIter(Iter.RegMask).begin();
532 // That register must be one in the RegMask set, e.g. don't try to prefer
535 const int SrcReg = (Iter.RegMask & Aliases).find_first();
690 int32_t MinWeightIndex = findMinWeightIndex(Iter.RegMask, Iter.Weights);
    [all...]
IceTargetLowering.cpp 522 SmallBitVector RegMask = getRegisterSet(RegInclude, RegExclude);
527 LinearScan.scan(RegMask, getFlags().getRandomizeRegisterAllocation());
538 postRegallocSplitting(RegMask);
572 void TargetLowering::postRegallocSplitting(const SmallBitVector &RegMask) {
656 RegAlloc.scan(RegMask, getFlags().getRandomizeRegisterAllocation());
    [all...]
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AArch64/
AArch64CollectLOH.cpp 450 static void handleRegMaskClobber(const uint32_t *RegMask, MCPhysReg Reg,
452 if (!MachineOperand::clobbersPhysReg(RegMask, Reg))
463 const uint32_t *RegMask = MO.getRegMask();
465 handleRegMaskClobber(RegMask, Reg, LOHInfos);
467 handleRegMaskClobber(RegMask, Reg, LOHInfos);
  /external/llvm/lib/Target/SystemZ/
SystemZElimCompare.cpp 415 // Read the branch mask, target (if applicable), regmask (if applicable).
422 const uint32_t *RegMask;
424 RegMask = MBBI->getOperand(2).getRegMask();
430 // Remove target (branch) or regmask (sibcall).
453 MIB.addRegMask(RegMask);
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/SystemZ/
SystemZElimCompare.cpp 536 // Read the branch mask, target (if applicable), regmask (if applicable).
543 const uint32_t *RegMask;
545 RegMask = MBBI->getOperand(2).getRegMask();
551 // Remove target (branch) or regmask (sibcall).
579 MIB.addRegMask(RegMask);
  /external/llvm/lib/CodeGen/SelectionDAG/
ScheduleDAGRRList.cpp     [all...]
  /external/llvm/lib/Target/X86/
X86RegisterInfo.cpp 456 const uint32_t *RegMask = getCallPreservedMask(MF, CC);
457 if (MachineOperand::clobbersPhysReg(RegMask, getBaseRegister()))

Completed in 279 milliseconds

1 2