[Beignet] [PATCH V2] GBE: Implement liveness dump.

Yang, Rong R rong.r.yang at intel.com
Thu Oct 8 01:29:39 PDT 2015


Pushed.

> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Zhigang Gong
> Sent: Friday, September 25, 2015 8:51
> To: Song, Ruiling
> Cc: beignet at lists.freedesktop.org
> Subject: Re: [Beignet] [PATCH V2] GBE: Implement liveness dump.
> 
> LGTM.
> 
> On Thu, Sep 24, 2015 at 03:47:30PM +0800, Ruiling Song wrote:
> > v2:
> > remove old printf debug code.
> > Signed-off-by: Ruiling Song <ruiling.song at intel.com>
> > ---
> >  backend/src/ir/liveness.cpp | 58
> > ++++++++++++++++-----------------------------
> >  1 file changed, 20 insertions(+), 38 deletions(-)
> >
> > diff --git a/backend/src/ir/liveness.cpp b/backend/src/ir/liveness.cpp
> > index c5a6374..9f456a3 100644
> > --- a/backend/src/ir/liveness.cpp
> > +++ b/backend/src/ir/liveness.cpp
> > @@ -190,25 +190,6 @@ namespace ir {
> >            workSet.insert(prevInfo);
> >        }
> >      };
> > -#if 0
> > -    fn.foreachBlock([this](const BasicBlock &bb){
> > -      printf("label %d:\n", bb.getLabelIndex());
> > -      BlockInfo *info = liveness[&bb];
> > -      auto &outVarSet = info->liveOut;
> > -      auto &inVarSet = info->upwardUsed;
> > -      printf("\n\tin Lives: ");
> > -      for (auto inVar : inVarSet) {
> > -        printf("%d ", inVar);
> > -      }
> > -      printf("\n");
> > -      printf("\tout Lives: ");
> > -      for (auto outVar : outVarSet) {
> > -        printf("%d ", outVar);
> > -      }
> > -      printf("\n");
> > -
> > -    });
> > -#endif
> >     }
> >  /*
> >    As we run in SIMD mode with prediction mask to indicate active lanes.
> > @@ -252,27 +233,28 @@ namespace ir {
> >          }
> >        }
> >      }
> > -#if 0
> > -    fn.foreachBlock([this](const BasicBlock &bb){
> > -      printf("label %d:\n", bb.getLabelIndex());
> > -      BlockInfo *info = liveness[&bb];
> > -      auto &outVarSet = info->liveOut;
> > -      auto &inVarSet = info->upwardUsed;
> > -      printf("\n\tLive Ins: ");
> > -      for (auto inVar : inVarSet) {
> > -        printf("%d ", inVar);
> > -      }
> > -      printf("\n");
> > -      printf("\tLive outs: ");
> > -      for (auto outVar : outVarSet) {
> > -        printf("%d ", outVar);
> > -      }
> > -      printf("\n");
> > -
> > -    });
> > -#endif
> >     }
> >
> > +  std::ostream &operator<< (std::ostream &out, const Liveness &live) {
> > +    const Function &fn = live.getFunction();
> > +    fn.foreachBlock([&] (const BasicBlock &bb) {
> > +      out << std::endl;
> > +      out << "Label $" << bb.getLabelIndex() << std::endl;
> > +      const Liveness::BlockInfo &bbInfo = live.getBlockInfo(&bb);
> > +      out << "liveIn:" << std::endl;
> > +      for (auto &x: bbInfo.upwardUsed) {
> > +        out << x << " ";
> > +      }
> > +      out << std::endl << "liveOut:" << std::endl;
> > +      for (auto &x : bbInfo.liveOut)
> > +        out << x << " ";
> > +      out << std::endl << "varKill:" << std::endl;
> > +      for (auto &x : bbInfo.varKill)
> > +        out << x << " ";
> > +      out << std::endl;
> > +    });
> > +    return out;
> > +  }
> >
> >    /*! To pretty print the livfeness info */
> >    static const uint32_t prettyInsnStrSize = 48;
> > --
> > 2.3.1
> >
> > _______________________________________________
> > Beignet mailing list
> > Beignet at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/beignet
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list