Home
last modified time | relevance | path

Searched refs:RegisterRef (Results 1 – 20 of 20) sorted by relevance

/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DRDFRegisters.h88 struct RegisterRef { struct
153 bool alias(RegisterRef RA, RegisterRef RB) const;
172 RegisterRef mapTo(RegisterRef RR, unsigned R) const;
175 bool equal_to(RegisterRef A, RegisterRef B) const;
176 bool less(RegisterRef A, RegisterRef B) const;
220 static bool isCoverOf(RegisterRef RA, RegisterRef RB, in isCoverOf()
232 RegisterRef intersectWith(RegisterRef RR) const;
233 RegisterRef clearIn(RegisterRef RR) const;
342 bool operator()(llvm::rdf::RegisterRef A, llvm::rdf::RegisterRef B) const {
361 bool operator()(llvm::rdf::RegisterRef A, llvm::rdf::RegisterRef B) const {
[all …]
H A DRDFLiveness.h66 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 DRDFGraph.h450 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()
791 RegisterRef makeRegRef(unsigned Reg, unsigned Sub) const;
792 RegisterRef makeRegRef(const MachineOperand &Op) const;
813 bool isTracked(RegisterRef RR) const;
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DRDFRegisters.cpp100 bool PhysicalRegisterInfo::alias(RegisterRef RA, RegisterRef RB) const { in alias()
108 if (RegisterRef::isMaskId(Reg)) { in getAliasSet()
165 RegisterRef PhysicalRegisterInfo::mapTo(RegisterRef RR, unsigned R) const { 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()
344 RegisterRef RegisterAggr::intersectWith(RegisterRef RR) const { in intersectWith()
348 return RegisterRef(); in intersectWith()
354 RegisterRef RegisterAggr::clearIn(RegisterRef RR) const { in clearIn()
361 return RegisterRef(); in makeRegRef()
383 return RegisterRef(); in makeRegRef()
[all …]
H A DRDFLiveness.cpp144 RegisterRef RR = TA.Addr->getRegRef(DFG); in getAllReachingDefs()
441 RegisterRef DR = DA.Addr->getRegRef(DFG); in getAllReachedUses()
657 using RefHash = std::hash<RegisterRef>; in computePhiInfo()
659 using SubMap = std::unordered_map<RegisterRef, RegisterRef>; in computePhiInfo()
667 RegisterRef S = Mid.clearIn(RR); in computePhiInfo()
701 RegisterRef R(T.first); in computePhiInfo()
713 if (RegisterRef SS = ClearIn(RegisterRef(R.Reg, M), MidDefs, SM)) { in computePhiInfo()
873 std::vector<RegisterRef> LV; in computeLiveIns()
905 for (RegisterRef R : LiveIns.refs()) in resetLiveIns()
1052 RegisterRef LRef(LE.first); in traverse()
[all …]
H A DRDFGraph.cpp750 LR.insert(RegisterRef(R)); in getLandingPadLiveIns()
753 LR.insert(RegisterRef(R)); in getLandingPadLiveIns()
917 LiveIns.insert(RegisterRef(P.first)); in build()
986 assert(RegisterRef::isRegId(Reg) || RegisterRef::isMaskId(Reg)); in makeRegRef()
990 return RegisterRef(Reg); in makeRegRef()
1065 if (RegisterRef::isRegId(A) && !isTracked(RegisterRef(A))) in pushClobbers()
1122 if (RegisterRef::isRegId(A) && !isTracked(RegisterRef(A))) in pushDefs()
1271 RegisterRef UR = makeRegRef(Op); in buildStmt()
1325 if (!isTracked(RegisterRef(i))) in buildStmt()
1341 RegisterRef RR = makeRegRef(Op); in buildStmt()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonExpandCondsets.cpp179 struct RegisterRef { struct in __anonaf918d220111::HexagonExpandCondsets
232 void renameInRange(RegisterRef RO, RegisterRef RN, unsigned PredR,
240 bool coalesceRegisters(RegisterRef R1, RegisterRef R2);
606 RegisterRef RS = SO; in getCondTfrOpcode()
665 if (RegisterRef(SrcOp) == RegisterRef(DstR, DstSR)) in genCondTfrFor()
713 RegisterRef RT(ST); in split()
825 RegisterRef RR = Op; in canMoveOver()
931 void HexagonExpandCondsets::renameInRange(RegisterRef RO, RegisterRef RN, in renameInRange()
979 RegisterRef RT(MS); in predicate()
1054 RegisterRef RD = MD; in predicate()
[all …]
H A DRDFCopy.cpp46 RegisterRef DstR = DFG.makeRegRef(Dst.getReg(), Dst.getSubReg()); in interpretAsCopy()
47 RegisterRef SrcR = DFG.makeRegRef(Src.getReg(), Src.getSubReg()); in interpretAsCopy()
112 EqualityMap EM(std::less<RegisterRef>(DFG.getPRI())); in scanBlock()
139 dbgs() << ' ' << Print<RegisterRef>(J.first, DFG) << '=' in run()
140 << Print<RegisterRef>(J.second, DFG); in run()
146 dbgs() << Print<RegisterRef>(R.first, DFG) << " -> {"; in run()
159 auto MinPhysReg = [this] (RegisterRef RR) -> unsigned { in run()
185 RegisterRef DR = DA.Addr->getRegRef(DFG); in run()
189 RegisterRef SR = FR->second; in run()
214 dbgs() << "Can replace " << Print<RegisterRef>(DR, DFG) in run()
[all …]
H A DRDFCopy.h29 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 DHexagonBitSimplify.cpp246 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH,
463 BitTracker::RegisterRef &SL, BitTracker::RegisterRef &SH, in parseRegSequence()
1095 bool usedBitsEqual(BitTracker::RegisterRef RD, BitTracker::RegisterRef RS);
1307 BitTracker::RegisterRef RS) { in usedBitsEqual()
1641 BitTracker::RegisterRef MR; in processBlock()
1719 BitTracker::RegisterRef SL, SH; in propagateRegCopy()
1793 BitTracker::RegisterRef &Rs, BitTracker::RegisterRef &Rt);
1920 BitTracker::RegisterRef &Rt) { in matchPackhl()
2053 BitTracker::RegisterRef Rs, Rt; in genPackhl()
2178 BitTracker::RegisterRef RS = Op; in genExtractLow()
[all …]
H A DBitTracker.h37 struct RegisterRef;
53 RegisterCell get(RegisterRef RR) const;
54 void put(RegisterRef RR, const RegisterCell &RC);
55 void subst(RegisterRef OldRR, RegisterRef NewRR);
141 struct BitTracker::RegisterRef { struct
142 RegisterRef(Register R = 0, unsigned S = 0) : Reg(R), Sub(S) {} in Reg() argument
143 RegisterRef(const MachineOperand &MO) in RegisterRef() function
397 uint16_t getRegBitWidth(const RegisterRef &RR) const;
399 RegisterCell getCell(const RegisterRef &RR, const CellMapType &M) const;
400 void putCell(const RegisterRef &RR, RegisterCell RC, CellMapType &M) const;
[all …]
H A DHexagonBlockRanges.cpp262 RegisterRef R, const MachineRegisterInfo &MRI, in expandToSubRegs()
291 std::map<RegisterRef,IndexType> LastDef, LastUse; in computeInitialLiveRanges()
302 auto closeRange = [&LastUse,&LastDef,&LiveMap] (RegisterRef R) -> void { in computeInitialLiveRanges()
322 RegisterRef R = { Op.getReg(), Op.getSubReg() }; in computeInitialLiveRanges()
338 RegisterRef R = { Op.getReg(), Op.getSubReg() }; in computeInitialLiveRanges()
363 RegisterRef R = { PR, 0 }; in computeInitialLiveRanges()
370 for (RegisterRef R : Defs) in computeInitialLiveRanges()
374 for (RegisterRef S : Defs) { in computeInitialLiveRanges()
382 for (RegisterRef S : Clobbers) { in computeInitialLiveRanges()
432 auto addDeadRanges = [&IndexMap,&LiveMap,&DeadMap] (RegisterRef R) -> void { in computeDeadMap()
H A DHexagonBlockRanges.h35 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 DBitTracker.cpp725 RegisterRef RD = MI.getOperand(0); in evaluate()
727 RegisterRef RS = MI.getOperand(1); in evaluate()
729 RegisterRef RT = MI.getOperand(3); in evaluate()
744 RegisterRef RD = MI.getOperand(0); in evaluate()
745 RegisterRef RS = MI.getOperand(1); in evaluate()
804 RegisterRef DefRR(MD); in visitPHI()
825 RegisterRef RU = PI.getOperand(i); in visitPHI()
856 RegisterRef RU(MO); in visitNonBranch()
862 RegisterRef RD(P.first); in visitNonBranch()
874 RegisterRef RD(MO); in visitNonBranch()
[all …]
H A DHexagonBitTracker.h27 using RegisterRef = BitTracker::RegisterRef; member
H A DHexagonOptAddrMode.cpp169 RegisterRef OffsetRR; in canRemoveAddasl()
172 RegisterRef RR = UA.Addr->getRegRef(*DFG); in canRemoveAddasl()
218 RegisterRef UR = UN.Addr->getRegRef(*DFG); in allValidCandidates()
251 RegisterRef DR = DA.Addr->getRegRef(*DFG); in getAllRealUses()
271 if (!DFG->getPRI().alias(RegisterRef(I.first), DR)) in getAllRealUses()
289 RegisterRef LRExtRR; in isSafeToExtLR()
294 RegisterRef RR = UA.Addr->getRegRef(*DFG); in isSafeToExtLR()
458 RegisterRef RR = UA.Addr->getRegRef(*DFG); in processAddUses()
H A DHexagonBitTracker.cpp94 uint16_t RW = getRegBitWidth(RegisterRef(Reg, Sub)); in mask()
161 std::vector<BT::RegisterRef> Vector;
168 Vector[i] = BT::RegisterRef(MO); in RegisterRefs()
176 const BT::RegisterRef &operator[](unsigned n) const { in operator []()
968 BT::RegisterRef PD(DefR, 0); in evaluate()
1023 RegisterRef PR = BI.getOperand(0); in evaluate()
1194 RegisterRef RD = MD; in evaluateLoad()
1223 RegisterRef RD = MI.getOperand(0); in evaluateFormalCopy()
1224 RegisterRef RS = MI.getOperand(1); in evaluateFormalCopy()
H A DHexagonRDFOpt.cpp115 auto mapRegs = [&EM] (RegisterRef DstR, RegisterRef SrcR) -> void { in INITIALIZE_PASS_DEPENDENCY()
H A DHexagonFrameLowering.cpp2411 HexagonBlockRanges::RegisterRef SrcRR = { SrcOp.getReg(), in optimizeSpillSlots()
2480 HexagonBlockRanges::RegisterRef FoundRR = { FoundR, 0 }; in optimizeSpillSlots()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86LoadValueInjectionLoadHardening.cpp369 RegisterRef DefReg = Def.Addr->getRegRef(DFG); in getGadgetGraph()
375 if (DFG.getPRI().alias(RegisterRef(I.first), DefReg)) { in getGadgetGraph()