| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | RDFRegisters.h | 88 struct RegisterRef { struct 92 constexpr RegisterRef() = default; argument 93 constexpr explicit RegisterRef(RegisterId R, 134 bool operator<(RegisterRef) const = delete; argument 135 bool operator==(RegisterRef) const = delete; 136 bool operator!=(RegisterRef) const = delete; 151 bool alias(RegisterRef RA, RegisterRef RB) const; 156 RegisterRef getRefForUnit(uint32_t U) const { in getRefForUnit() 157 return RegisterRef(UnitInfos[U].Reg, UnitInfos[U].Mask); in getRefForUnit() 164 std::set<RegisterId> getUnits(RegisterRef RR) const; [all …]
|
| H A D | RDFLiveness.h | 66 NodeList getAllReachingDefs(RegisterRef RefRR, NodeAddr<RefNode *> RefA, 75 NodeList getAllReachingDefs(RegisterRef RefRR, NodeAddr<RefNode *> RefA) { 79 NodeSet getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode *> DefA, 82 NodeSet getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode *> DefA) { 86 std::pair<NodeSet, bool> getAllReachingDefsRec(RegisterRef RefRR, 91 NodeAddr<RefNode *> getNearestAliasedRef(RegisterRef RefRR, 151 getAllReachingDefsRecImpl(RegisterRef RefRR, NodeAddr<RefNode *> RefA,
|
| H A D | RDFGraph.h | 450 using RegisterSet = std::set<RegisterRef>; 556 RegisterRef getRegRef(const DataFlowGraph &G) const; 563 void setRegRef(RegisterRef RR, DataFlowGraph &G); 583 Ref getNextRef(RegisterRef RR, Predicate P, bool NextOnly, 781 PackedRegisterRef pack(RegisterRef RR) { in pack() 784 PackedRegisterRef pack(RegisterRef RR) const { in pack() 787 RegisterRef unpack(PackedRegisterRef PR) const { in unpack() 788 return RegisterRef(PR.Reg, LMI.getLaneMaskForIndex(PR.MaskId)); in unpack() 791 RegisterRef makeRegRef(unsigned Reg, unsigned Sub) const; 792 RegisterRef makeRegRef(const MachineOperand &Op) const; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | RDFRegisters.cpp | 100 bool PhysicalRegisterInfo::alias(RegisterRef RA, RegisterRef RB) const { in alias() 107 assert(!RegisterRef::isUnitId(Reg) && "No units allowed"); in getAliasSet() 108 if (RegisterRef::isMaskId(Reg)) { in getAliasSet() 119 assert(RegisterRef::isRegId(Reg)); in getAliasSet() 126 std::set<RegisterId> PhysicalRegisterInfo::getUnits(RegisterRef RR) const { in getUnits() 165 RegisterRef PhysicalRegisterInfo::mapTo(RegisterRef RR, unsigned R) const { in mapTo() 169 return RegisterRef(R, TRI.composeSubRegIndexLaneMask(Idx, RR.Mask)); in mapTo() 175 return RegisterRef(R, M & RCM); in mapTo() 180 bool PhysicalRegisterInfo::equal_to(RegisterRef A, RegisterRef B) const { in equal_to() 216 bool PhysicalRegisterInfo::less(RegisterRef A, RegisterRef B) const { in less() [all …]
|
| H A D | RDFLiveness.cpp | 104 NodeList Liveness::getAllReachingDefs(RegisterRef RefRR, in getAllReachingDefs() 144 RegisterRef RR = TA.Addr->getRegRef(DFG); in getAllReachingDefs() 272 RegisterRef QR = DA.Addr->getRegRef(DFG); in getAllReachingDefs() 304 Liveness::getAllReachingDefsRec(RegisterRef RefRR, NodeAddr<RefNode *> RefA, in getAllReachingDefsRec() 310 Liveness::getAllReachingDefsRecImpl(RegisterRef RefRR, NodeAddr<RefNode *> RefA, in getAllReachingDefsRecImpl() 357 NodeAddr<RefNode *> Liveness::getNearestAliasedRef(RegisterRef RefRR, in getNearestAliasedRef() 414 NodeSet Liveness::getAllReachedUses(RegisterRef RefRR, NodeAddr<DefNode *> DefA, in getAllReachedUses() 430 RegisterRef UR = UA.Addr->getRegRef(DFG); in getAllReachedUses() 441 RegisterRef DR = DA.Addr->getRegRef(DFG); in getAllReachedUses() 513 RegisterRef R = A.Addr->getRegRef(DFG); in computePhiInfo() [all …]
|
| H A D | RDFGraph.cpp | 44 raw_ostream &operator<<(raw_ostream &OS, const Print<RegisterRef> &P) { in operator <<() 401 RegisterRef RefNode::getRegRef(const DataFlowGraph &G) const { in getRegRef() 411 void RefNode::setRegRef(RegisterRef RR, DataFlowGraph &G) { in setRegRef() 749 LR.insert(RegisterRef(R)); in getLandingPadLiveIns() 752 LR.insert(RegisterRef(R)); in getLandingPadLiveIns() 808 PhiUse DataFlowGraph::newPhiUse(Phi Owner, RegisterRef RR, Block PredB, in newPhiUse() 823 Def DataFlowGraph::newDef(Instr Owner, RegisterRef RR, uint16_t Flags) { in newDef() 883 Insert(TrackedUnits, getPRI().getUnits(RegisterRef(R))); in build() 890 Insert(TrackedUnits, getPRI().getUnits(RegisterRef(R))); in build() 916 LiveIns.insert(RegisterRef(P.first)); in build() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonExpandCondsets.cpp | 172 struct RegisterRef { struct in __anondf36eb6c0111::HexagonExpandCondsets 173 RegisterRef(const MachineOperand &Op) : Reg(Op.getReg()), in RegisterRef() argument 175 RegisterRef(unsigned R = 0, unsigned S = 0) : Reg(R), Sub(S) {} in RegisterRef() function 177 bool operator== (RegisterRef RR) const { in operator ==() argument 180 bool operator!= (RegisterRef RR) const { return !operator==(RR); } in operator !=() argument 181 bool operator< (RegisterRef RR) const { in operator <() argument 197 void addRefToMap(RegisterRef RR, ReferenceMap &Map, unsigned Exec); 198 bool isRefInMap(RegisterRef, ReferenceMap &Map, unsigned Exec); 217 MachineInstr *getReachingDefForPred(RegisterRef RD, 225 void renameInRange(RegisterRef RO, RegisterRef RN, unsigned PredR, [all …]
|
| H A D | RDFCopy.cpp | 45 RegisterRef DstR = DFG.makeRegRef(Dst.getReg(), Dst.getSubReg()); in interpretAsCopy() 46 RegisterRef SrcR = DFG.makeRegRef(Src.getReg(), Src.getSubReg()); in interpretAsCopy() 111 EqualityMap EM(std::less<RegisterRef>(DFG.getPRI())); in scanBlock() 138 dbgs() << ' ' << Print<RegisterRef>(J.first, DFG) << '=' in run() 139 << Print<RegisterRef>(J.second, DFG); in run() 145 dbgs() << Print<RegisterRef>(R.first, DFG) << " -> {"; in run() 158 auto MinPhysReg = [this] (RegisterRef RR) -> unsigned { in run() 184 RegisterRef DR = DA.Addr->getRegRef(DFG); in run() 188 RegisterRef SR = FR->second; in run() 213 dbgs() << "Can replace " << Print<RegisterRef>(DR, DFG) in run() [all …]
|
| H A D | HexagonBitSimplify.cpp | 217 static bool getSubregMask(const BitTracker::RegisterRef &RR, 224 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH, 233 const BitTracker::RegisterRef &RR, MachineRegisterInfo &MRI); 234 static bool isTransparentCopy(const BitTracker::RegisterRef &RD, 235 const BitTracker::RegisterRef &RS, MachineRegisterInfo &MRI); 413 bool HexagonBitSimplify::getSubregMask(const BitTracker::RegisterRef &RR, in getSubregMask() 441 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH, in parseRegSequence() 904 const BitTracker::RegisterRef &RR, MachineRegisterInfo &MRI) { in getFinalVRegClass() 934 bool HexagonBitSimplify::isTransparentCopy(const BitTracker::RegisterRef &RD, in isTransparentCopy() 935 const BitTracker::RegisterRef &RS, MachineRegisterInfo &MRI) { in isTransparentCopy() [all …]
|
| H A D | BitTracker.h | 34 struct RegisterRef; 50 RegisterCell get(RegisterRef RR) const; 51 void put(RegisterRef RR, const RegisterCell &RC); 52 void subst(RegisterRef OldRR, RegisterRef NewRR); 138 struct BitTracker::RegisterRef { struct 139 RegisterRef(Register R = 0, unsigned S = 0) : Reg(R), Sub(S) {} in Reg() argument 140 RegisterRef(const MachineOperand &MO) in RegisterRef() argument 394 uint16_t getRegBitWidth(const RegisterRef &RR) const; 396 RegisterCell getCell(const RegisterRef &RR, const CellMapType &M) const; 397 void putCell(const RegisterRef &RR, RegisterCell RC, CellMapType &M) const; [all …]
|
| H A D | RDFCopy.h | 29 RDefMap(std::less<RegisterRef>(DFG.getPRI())) {} in CopyPropagation() 38 using EqualityMap = std::map<RegisterRef, RegisterRef>; 48 std::map<RegisterRef,std::map<NodeId,NodeId>> RDefMap;
|
| H A D | HexagonBlockRanges.cpp | 261 RegisterRef R, const MachineRegisterInfo &MRI, in expandToSubRegs() 290 std::map<RegisterRef,IndexType> LastDef, LastUse; in computeInitialLiveRanges() 301 auto closeRange = [&LastUse,&LastDef,&LiveMap] (RegisterRef R) -> void { in computeInitialLiveRanges() 321 RegisterRef R = { Op.getReg(), Op.getSubReg() }; in computeInitialLiveRanges() 337 RegisterRef R = { Op.getReg(), Op.getSubReg() }; in computeInitialLiveRanges() 362 RegisterRef R = { PR, 0 }; in computeInitialLiveRanges() 369 for (RegisterRef R : Defs) in computeInitialLiveRanges() 373 for (RegisterRef S : Defs) { in computeInitialLiveRanges() 381 for (RegisterRef S : Clobbers) { in computeInitialLiveRanges() 431 auto addDeadRanges = [&IndexMap,&LiveMap,&DeadMap] (RegisterRef R) -> void { in computeDeadMap()
|
| H A D | HexagonBlockRanges.h | 35 struct RegisterRef { struct 39 bool operator<(RegisterRef R) const { 43 using RegisterSet = std::set<RegisterRef>; 145 using RegToRangeMap = std::map<RegisterRef, RangeList>; 149 static RegisterSet expandToSubRegs(RegisterRef R,
|
| H A D | BitTracker.cpp | 324 uint16_t BT::MachineEvaluator::getRegBitWidth(const RegisterRef &RR) const { in getRegBitWidth() 343 BT::RegisterCell BT::MachineEvaluator::getCell(const RegisterRef &RR, in getCell() 370 void BT::MachineEvaluator::putCell(const RegisterRef &RR, RegisterCell RC, in putCell() 720 RegisterRef RD = MI.getOperand(0); in evaluate() 722 RegisterRef RS = MI.getOperand(1); in evaluate() 724 RegisterRef RT = MI.getOperand(3); in evaluate() 739 RegisterRef RD = MI.getOperand(0); in evaluate() 740 RegisterRef RS = MI.getOperand(1); in evaluate() 799 RegisterRef DefRR(MD); in visitPHI() 820 RegisterRef RU = PI.getOperand(i); in visitPHI() [all …]
|
| H A D | HexagonBitTracker.h | 26 using RegisterRef = BitTracker::RegisterRef; member
|
| H A D | HexagonOptAddrMode.cpp | 176 RegisterRef OffsetRR; in canRemoveAddasl() 179 RegisterRef RR = UA.Addr->getRegRef(*DFG); in canRemoveAddasl() 234 RegisterRef UR = UN.Addr->getRegRef(*DFG); in allValidCandidates() 267 RegisterRef DR = DA.Addr->getRegRef(*DFG); in getAllRealUses() 287 if (!DFG->getPRI().alias(RegisterRef(I.first), DR)) in getAllRealUses() 305 RegisterRef LRExtRR; in isSafeToExtLR() 310 RegisterRef RR = UA.Addr->getRegRef(*DFG); in isSafeToExtLR() 554 RegisterRef URR = UA.Addr->getRegRef(*DFG); in processAddBases() 651 RegisterRef FirstReachedDefRR = FirstReachedUseDN.Addr->getRegRef(*DFG); in processAddBases() 742 RegisterRef RR = UA.Addr->getRegRef(*DFG); in processAddUses()
|
| H A D | HexagonBitTracker.cpp | 84 uint16_t RW = getRegBitWidth(RegisterRef(Reg, Sub)); in mask() 153 std::vector<BT::RegisterRef> Vector; 160 Vector[i] = BT::RegisterRef(MO); in RegisterRefs() 168 const BT::RegisterRef &operator[](unsigned n) const { in operator []() 960 BT::RegisterRef PD(DefR, 0); in evaluate() 1015 RegisterRef PR = BI.getOperand(0); in evaluate() 1186 RegisterRef RD = MD; in evaluateLoad() 1215 RegisterRef RD = MI.getOperand(0); in evaluateFormalCopy() 1216 RegisterRef RS = MI.getOperand(1); in evaluateFormalCopy()
|
| H A D | HexagonRDFOpt.cpp | 111 auto mapRegs = [&EM] (RegisterRef DstR, RegisterRef SrcR) -> void { in INITIALIZE_PASS_DEPENDENCY()
|
| H A D | HexagonFrameLowering.cpp | 2396 HexagonBlockRanges::RegisterRef SrcRR = { SrcOp.getReg(), in optimizeSpillSlots() 2465 HexagonBlockRanges::RegisterRef FoundRR = { FoundR, 0 }; in optimizeSpillSlots()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86LoadValueInjectionLoadHardening.cpp | 368 RegisterRef DefReg = Def.Addr->getRegRef(DFG); in getGadgetGraph() 374 if (DFG.getPRI().alias(RegisterRef(I.first), DefReg)) { in getGadgetGraph()
|