reference, declarationdefinition
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();