|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/CodeGen/LiveRangeCalc.h 42 using MachineDomTreeNode = DomTreeNodeBase<MachineBasicBlock>;
References
include/llvm/CodeGen/LiveRangeCalc.h 53 using LiveOutPair = std::pair<VNInfo *, MachineDomTreeNode *>;
106 MachineDomTreeNode *DomNode;
116 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill)
269 void addLiveInBlock(LiveRange &LR, MachineDomTreeNode *DomNode,
include/llvm/CodeGen/MachineDominators.h 110 MachineDomTreeNode *getRootNode() const {
119 bool dominates(const MachineDomTreeNode *A,
120 const MachineDomTreeNode *B) const {
145 bool properlyDominates(const MachineDomTreeNode *A,
146 const MachineDomTreeNode *B) const {
165 MachineDomTreeNode *operator[](MachineBasicBlock *BB) const {
173 MachineDomTreeNode *getNode(MachineBasicBlock *BB) const {
181 MachineDomTreeNode *addNewBlock(MachineBasicBlock *BB,
196 void changeImmediateDominator(MachineDomTreeNode *N,
197 MachineDomTreeNode *NewIDom) {
272 : public MachineDomTreeGraphTraitsBase<MachineDomTreeNode,
273 MachineDomTreeNode::iterator> {};
277 : public MachineDomTreeGraphTraitsBase<const MachineDomTreeNode,
278 MachineDomTreeNode::const_iterator> {
282 : public GraphTraits<MachineDomTreeNode *> {
include/llvm/CodeGen/MachinePostDominators.h 42 MachineDomTreeNode *getRootNode() const { return PDT->getRootNode(); }
44 MachineDomTreeNode *operator[](MachineBasicBlock *BB) const {
48 MachineDomTreeNode *getNode(MachineBasicBlock *BB) const {
52 bool dominates(const MachineDomTreeNode *A,
53 const MachineDomTreeNode *B) const {
61 bool properlyDominates(const MachineDomTreeNode *A,
62 const MachineDomTreeNode *B) const {
71 bool isVirtualRoot(const MachineDomTreeNode *Node) const {
include/llvm/CodeGen/MachineRegionInfo.h 37 using DomTreeNodeT = MachineDomTreeNode;
lib/CodeGen/EarlyIfConversion.cpp 754 MachineDomTreeNode *HeadNode = DomTree->getNode(IfConv.Head);
756 MachineDomTreeNode *Node = DomTree->getNode(B);
lib/CodeGen/InlineSpiller.cpp 1207 MachineDomTreeNode *Node = MDT.getBase().getNode(Block);
1238 SmallPtrSet<MachineDomTreeNode *, 8> WorkSet;
1241 SmallPtrSet<MachineDomTreeNode *, 8> NodesOnPath;
1246 MachineDomTreeNode *RootIDomNode = MDT[Root]->getIDom();
1256 MachineDomTreeNode *Node = MDT[Block];
1293 MachineDomTreeNode *Node = Orders[idx++];
1294 const std::vector<MachineDomTreeNode *> &Children = Node->getChildren();
1297 MachineDomTreeNode *Child = Children[i];
1307 SmallVector<MachineDomTreeNode *, 32>::reverse_iterator RIt = Orders.rbegin();
1323 SmallVector<MachineDomTreeNode *, 32> Orders;
1329 DenseMap<MachineDomTreeNode *, unsigned> SpillsToKeep;
1331 DenseMap<MachineDomTreeNode *, MachineInstr *> SpillBBToSpill;
1344 std::pair<SmallPtrSet<MachineDomTreeNode *, 16>, BlockFrequency>;
1345 DenseMap<MachineDomTreeNode *, NodesCostPair> SpillsInSubTreeMap;
1351 SmallVector<MachineDomTreeNode *, 32>::reverse_iterator RIt = Orders.rbegin();
1365 const std::vector<MachineDomTreeNode *> &Children = (*RIt)->getChildren();
1368 MachineDomTreeNode *Child = Children[i];
1376 SmallPtrSet<MachineDomTreeNode *, 16> &SpillsInSubTree =
1386 SmallPtrSet<MachineDomTreeNode *, 16> &SpillsInSubTree =
lib/CodeGen/LiveRangeCalc.cpp 493 MachineDomTreeNode *Node = I.DomNode;
498 MachineDomTreeNode *IDom = Node->getIDom();
lib/CodeGen/MachineCSE.cpp 133 void ExitScopeIfDone(MachineDomTreeNode *Node,
134 DenseMap<MachineDomTreeNode*, unsigned> &OpenChildren);
135 bool PerformCSE(MachineDomTreeNode *Node);
719 MachineCSE::ExitScopeIfDone(MachineDomTreeNode *Node,
720 DenseMap<MachineDomTreeNode*, unsigned> &OpenChildren) {
728 while (MachineDomTreeNode *Parent = Node->getIDom()) {
737 bool MachineCSE::PerformCSE(MachineDomTreeNode *Node) {
738 SmallVector<MachineDomTreeNode*, 32> Scopes;
739 SmallVector<MachineDomTreeNode*, 8> WorkList;
740 DenseMap<MachineDomTreeNode*, unsigned> OpenChildren;
749 const std::vector<MachineDomTreeNode*> &Children = Node->getChildren();
751 for (MachineDomTreeNode *Child : Children)
757 for (MachineDomTreeNode *Node : Scopes) {
850 SmallVector<MachineDomTreeNode *, 32> BBs;
857 const std::vector<MachineDomTreeNode *> &Children = Node->getChildren();
858 for (MachineDomTreeNode *Child : Children)
lib/CodeGen/MachineDominators.cpp 103 MachineDomTreeNode *SuccDTNode = DT->getNode(Succ);
138 MachineDomTreeNode *NewDTNode = DT->addNewBlock(Edge.NewBB, Edge.FromBB);
lib/CodeGen/MachineLICM.cpp 213 MachineDomTreeNode *Node,
214 DenseMap<MachineDomTreeNode *, unsigned> &OpenChildren,
215 DenseMap<MachineDomTreeNode *, MachineDomTreeNode *> &ParentMap);
215 DenseMap<MachineDomTreeNode *, MachineDomTreeNode *> &ParentMap);
217 void HoistOutOfLoop(MachineDomTreeNode *HeaderN);
219 void HoistRegion(MachineDomTreeNode *N, bool IsHeader);
360 MachineDomTreeNode *N = DT->getNode(CurLoop->getHeader());
647 void MachineLICMBase::ExitScopeIfDone(MachineDomTreeNode *Node,
648 DenseMap<MachineDomTreeNode*, unsigned> &OpenChildren,
649 DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> &ParentMap) {
649 DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> &ParentMap) {
657 while (MachineDomTreeNode *Parent = ParentMap[Node]) {
670 void MachineLICMBase::HoistOutOfLoop(MachineDomTreeNode *HeaderN) {
675 SmallVector<MachineDomTreeNode*, 32> Scopes;
676 SmallVector<MachineDomTreeNode*, 8> WorkList;
677 DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> ParentMap;
677 DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> ParentMap;
678 DenseMap<MachineDomTreeNode*, unsigned> OpenChildren;
683 MachineDomTreeNode *Node = WorkList.pop_back_val();
698 const std::vector<MachineDomTreeNode*> &Children = Node->getChildren();
712 MachineDomTreeNode *Child = Children[i];
727 for (MachineDomTreeNode *Node : Scopes) {
lib/CodeGen/MachineSink.cpp 600 const std::vector<MachineDomTreeNode *> &Children =
lib/CodeGen/SplitKit.cpp 899 MachineDomTreeNode *DefDomNode = MDT[DefMBB];
937 MachineDomTreeNode *IDom = MDT[Loop->getHeader()]->getIDom();
lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp 62 bool VisitNode(MachineDomTreeNode *Node, unsigned TLSBaseAddrReg) {
88 for (MachineDomTreeNode *N : *Node) {
lib/Target/AArch64/AArch64ConditionOptimizer.cpp 345 for (MachineDomTreeNode *I : depth_first(DomTree)) {
lib/Target/AArch64/AArch64ConditionalCompares.cpp 825 MachineDomTreeNode *HeadNode = DomTree->getNode(CmpConv.Head);
827 MachineDomTreeNode *Node = DomTree->getNode(RemovedMBB);
lib/Target/AMDGPU/SILowerI1Copies.cpp 302 MachineDomTreeNode *PDNode = PDT.getNode(DefBlock);
lib/Target/Hexagon/HexagonBitSimplify.cpp 276 for (auto *DTN : children<MachineDomTreeNode*>(MDT->getNode(&B)))
962 bool runOnNode(MachineDomTreeNode *N);
988 bool DeadCodeElimination::runOnNode(MachineDomTreeNode *N) {
991 for (auto *DTN : children<MachineDomTreeNode*>(N))
lib/Target/Hexagon/HexagonEarlyIfConv.cpp 601 MachineDomTreeNode *N = MDT->getNode(B);
603 using GTN = GraphTraits<MachineDomTreeNode *>;
612 using DTNodeVectType = SmallVector<MachineDomTreeNode *, 4>;
957 MachineDomTreeNode *N = MDT->getNode(B);
958 MachineDomTreeNode *IDN = N->getIDom();
962 using GTN = GraphTraits<MachineDomTreeNode *>;
963 using DTNodeVectType = SmallVector<MachineDomTreeNode *, 4>;
lib/Target/Hexagon/HexagonGenInsert.cpp 555 bool removeDeadCode(MachineDomTreeNode *N);
979 for (auto *DTN : children<MachineDomTreeNode*>(MDT->getNode(B))) {
1452 bool HexagonGenInsert::removeDeadCode(MachineDomTreeNode *N) {
1455 for (auto *DTN : children<MachineDomTreeNode*>(N))
lib/Target/Hexagon/HexagonHardwareLoops.cpp 1997 if (MachineDomTreeNode *HN = MDT->getNode(Header)) {
1998 if (MachineDomTreeNode *DHN = HN->getIDom()) {
lib/Target/Hexagon/RDFCopy.cpp 81 MachineDomTreeNode *N = MDT.getNode(B);
lib/Target/Hexagon/RDFGraph.cpp 1676 MachineDomTreeNode *N = MDT.getNode(BA.Addr->getCode());
lib/Target/Hexagon/RDFLiveness.cpp 364 if (MachineDomTreeNode *N = MDT.getNode(BB)) {
953 MachineDomTreeNode *N = MDT.getNode(B);
lib/Target/Mips/MipsOptimizePICCall.cpp 66 MBBInfo(MachineDomTreeNode *N);
68 const MachineDomTreeNode *getNode() const;
74 MachineDomTreeNode *Node;
181 MBBInfo::MBBInfo(MachineDomTreeNode *N) : Node(N), HTScope(nullptr) {}
183 const MachineDomTreeNode *MBBInfo::getNode() const { return Node; }
220 const MachineDomTreeNode *Node = MBBI.getNode();
221 const std::vector<MachineDomTreeNode *> &Children = Node->getChildren();
lib/Target/SystemZ/SystemZLDCleanup.cpp 43 bool VisitNode(MachineDomTreeNode *Node, unsigned TLSBaseAddrReg);
87 bool SystemZLDCleanup::VisitNode(MachineDomTreeNode *Node,
lib/Target/X86/X86InstrInfo.cpp 7866 bool VisitNode(MachineDomTreeNode *Node, unsigned TLSBaseAddrReg) {
7888 for (MachineDomTreeNode::iterator I = Node->begin(), E = Node->end();