[Mesa-dev] [PATCH] nv50/ir: remove DUMMY edge type

Ilia Mirkin imirkin at alum.mit.edu
Mon Oct 14 21:28:24 UTC 2019


Oh. Probably. Let me have another look then.

On Mon, Oct 14, 2019 at 5:27 PM Karol Herbst <kherbst at redhat.com> wrote:
>
> isn't that what "UNKNOWN" is for?
>
> On Mon, Oct 14, 2019 at 11:16 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> >
> > The idea was that this type would be used when you're not sure, and
> > then run the classifier afterwards. Otherwise the classifier doesn't
> > know which edges to classify...
> >
> > On Mon, Oct 14, 2019 at 5:10 PM Karol Herbst <kherbst at redhat.com> wrote:
> > >
> > > it was never used
> > >
> > > Signed-off-by: Karol Herbst <kherbst at redhat.com>
> > > ---
> > >  src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp    | 3 ---
> > >  src/gallium/drivers/nouveau/codegen/nv50_ir_graph.cpp | 8 +-------
> > >  src/gallium/drivers/nouveau/codegen/nv50_ir_graph.h   | 1 -
> > >  src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp    | 2 --
> > >  4 files changed, 1 insertion(+), 13 deletions(-)
> > >
> > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp
> > > index 9f0e0733326..76fee8c791e 100644
> > > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp
> > > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_bb.cpp
> > > @@ -536,9 +536,6 @@ Function::printCFGraph(const char *filePath)
> > >           case Graph::Edge::BACK:
> > >              fprintf(out, "\t%i -> %i;\n", idA, idB);
> > >              break;
> > > -         case Graph::Edge::DUMMY:
> > > -            fprintf(out, "\t%i -> %i [style=dotted];\n", idA, idB);
> > > -            break;
> > >           default:
> > >              assert(0);
> > >              break;
> > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.cpp
> > > index b1076cf4129..e9a9981746a 100644
> > > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.cpp
> > > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.cpp
> > > @@ -77,7 +77,6 @@ const char *Graph::Edge::typeStr() const
> > >     case FORWARD: return "forward";
> > >     case BACK:    return "back";
> > >     case CROSS:   return "cross";
> > > -   case DUMMY:   return "dummy";
> > >     case UNKNOWN:
> > >     default:
> > >        return "unk";
> > > @@ -184,7 +183,7 @@ Graph::Node::reachableBy(const Node *node, const Node *term) const
> > >           continue;
> > >
> > >        for (EdgeIterator ei = pos->outgoing(); !ei.end(); ei.next()) {
> > > -         if (ei.getType() == Edge::BACK || ei.getType() == Edge::DUMMY)
> > > +         if (ei.getType() == Edge::BACK)
> > >              continue;
> > >           if (ei.getNode()->visit(seq))
> > >              stack.push(ei.getNode());
> > > @@ -301,7 +300,6 @@ private:
> > >              switch (ei.getType()) {
> > >              case Graph::Edge::TREE:
> > >              case Graph::Edge::FORWARD:
> > > -            case Graph::Edge::DUMMY:
> > >                 if (++(ei.getNode()->tag) == ei.getNode()->incidentCountFwd())
> > >                    bb.push(ei.getNode());
> > >                 break;
> > > @@ -371,8 +369,6 @@ void Graph::classifyDFS(Node *curr, int& seq)
> > >
> > >     for (edge = curr->out; edge; edge = edge->next[0]) {
> > >        node = edge->target;
> > > -      if (edge->type == Edge::DUMMY)
> > > -         continue;
> > >
> > >        if (node->getSequence() == 0) {
> > >           edge->type = Edge::TREE;
> > > @@ -387,8 +383,6 @@ void Graph::classifyDFS(Node *curr, int& seq)
> > >
> > >     for (edge = curr->in; edge; edge = edge->next[1]) {
> > >        node = edge->origin;
> > > -      if (edge->type == Edge::DUMMY)
> > > -         continue;
> > >
> > >        if (node->getSequence() == 0) {
> > >           edge->type = Edge::TREE;
> > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.h
> > > index 115f20e5e99..fc85e78a50c 100644
> > > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.h
> > > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_graph.h
> > > @@ -47,7 +47,6 @@ public:
> > >           FORWARD,
> > >           BACK,
> > >           CROSS, // e.g. loop break
> > > -         DUMMY
> > >        };
> > >
> > >        Edge(Node *dst, Node *src, Type kind);
> > > diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> > > index f25bce00884..6df2664da22 100644
> > > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> > > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp
> > > @@ -624,8 +624,6 @@ RegAlloc::BuildIntervalsPass::collectLiveValues(BasicBlock *bb)
> > >        // trickery to save a loop of OR'ing liveSets
> > >        // aliasing works fine with BitSet::setOr
> > >        for (Graph::EdgeIterator ei = bb->cfg.outgoing(); !ei.end(); ei.next()) {
> > > -         if (ei.getType() == Graph::Edge::DUMMY)
> > > -            continue;
> > >           if (bbA) {
> > >              bb->liveSet.setOr(&bbA->liveSet, &bbB->liveSet);
> > >              bbA = bb;
> > > --
> > > 2.21.0
> > >
> > > _______________________________________________
> > > mesa-dev mailing list
> > > mesa-dev at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>


More information about the mesa-dev mailing list