reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/CodeGen/PBQPRAConstraint.h
   40   virtual void apply(PBQPRAGraph &G) = 0;
   52   void apply(PBQPRAGraph &G) override {
lib/CodeGen/RegAllocPBQP.cpp
  166   void initializeGraph(PBQPRAGraph &G, VirtRegMap &VRM, Spiller &VRegSpiller);
  175   bool mapPBQPToRegAlloc(const PBQPRAGraph &G,
  193   void apply(PBQPRAGraph &G) override {
  207       PBQPRAGraph::RawVector NodeCosts(G.getNodeCosts(NId));
  219   using IMatrixCache = DenseMap<IKey, PBQPRAGraph::MatrixPtr>;
  224   bool haveDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
  224   bool haveDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
  225                                PBQPRAGraph::NodeId MId,
  239   void setDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
  239   void setDisjointAllowedRegs(const PBQPRAGraph &G, PBQPRAGraph::NodeId NId,
  240                               PBQPRAGraph::NodeId MId,
  305   void apply(PBQPRAGraph &G) override {
  397   bool createInterferenceEdge(PBQPRAGraph &G,
  398                               PBQPRAGraph::NodeId NId, PBQPRAGraph::NodeId MId,
  398                               PBQPRAGraph::NodeId NId, PBQPRAGraph::NodeId MId,
  413     PBQPRAGraph::RawMatrix M(NRegs.size() + 1, MRegs.size() + 1, 0);
  429     PBQPRAGraph::EdgeId EId = G.addEdge(NId, MId, std::move(M));
  438   void apply(PBQPRAGraph &G) override {
  461           PBQPRAGraph::NodeId NId = G.getMetadata().getNodeIdForVReg(SrcReg);
  463           const PBQPRAGraph::NodeMetadata::AllowedRegVector &Allowed =
  471             PBQPRAGraph::RawVector NewCosts(G.getNodeCosts(NId));
  476           PBQPRAGraph::NodeId N1Id = G.getMetadata().getNodeIdForVReg(DstReg);
  477           PBQPRAGraph::NodeId N2Id = G.getMetadata().getNodeIdForVReg(SrcReg);
  478           const PBQPRAGraph::NodeMetadata::AllowedRegVector *Allowed1 =
  480           const PBQPRAGraph::NodeMetadata::AllowedRegVector *Allowed2 =
  483           PBQPRAGraph::EdgeId EId = G.findEdge(N1Id, N2Id);
  485             PBQPRAGraph::RawMatrix Costs(Allowed1->size() + 1,
  494             PBQPRAGraph::RawMatrix Costs(G.getEdgeCosts(EId));
  505                     PBQPRAGraph::RawMatrix &CostMat,
  506                     const PBQPRAGraph::NodeMetadata::AllowedRegVector &Allowed1,
  507                     const PBQPRAGraph::NodeMetadata::AllowedRegVector &Allowed2,
  577 void RegAllocPBQP::initializeGraph(PBQPRAGraph &G, VirtRegMap &VRM,
  660     PBQPRAGraph::RawVector NodeCosts(VRegAllowed.size() + 1, 0);
  668     PBQPRAGraph::NodeId NId = G.addNode(std::move(NodeCosts));
  703 bool RegAllocPBQP::mapPBQPToRegAlloc(const PBQPRAGraph &G,
  840       PBQPRAGraph G(PBQPRAGraph::GraphMetadata(MF, LIS, MBFI));
lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
  158 bool A57ChainingConstraint::addIntraChainConstraint(PBQPRAGraph &G, unsigned Rd,
  173   PBQPRAGraph::NodeId node1 = G.getMetadata().getNodeIdForVReg(Rd);
  174   PBQPRAGraph::NodeId node2 = G.getMetadata().getNodeIdForVReg(Ra);
  176   const PBQPRAGraph::NodeMetadata::AllowedRegVector *vRdAllowed =
  178   const PBQPRAGraph::NodeMetadata::AllowedRegVector *vRaAllowed =
  181   PBQPRAGraph::EdgeId edge = G.findEdge(node1, node2);
  190     PBQPRAGraph::RawMatrix costs(vRdAllowed->size() + 1,
  212   PBQPRAGraph::RawMatrix costs(G.getEdgeCosts(edge));
  242 void A57ChainingConstraint::addInterChainConstraint(PBQPRAGraph &G, unsigned Rd,
  260   PBQPRAGraph::NodeId node1 = G.getMetadata().getNodeIdForVReg(Rd);
  270       const PBQPRAGraph::NodeMetadata::AllowedRegVector *vRdAllowed =
  273       PBQPRAGraph::NodeId node2 = G.getMetadata().getNodeIdForVReg(r);
  274       const PBQPRAGraph::NodeMetadata::AllowedRegVector *vRrAllowed =
  277       PBQPRAGraph::EdgeId edge = G.findEdge(node1, node2);
  326 void A57ChainingConstraint::apply(PBQPRAGraph &G) {
lib/Target/AArch64/AArch64PBQPRegAlloc.h
   23   void apply(PBQPRAGraph &G) override;
   32   bool addIntraChainConstraint(PBQPRAGraph &G, unsigned Rd, unsigned Ra);
   35   void addInterChainConstraint(PBQPRAGraph &G, unsigned Rd, unsigned Ra);