Pushed.
> -----Original Message----- > From: Beignet [mailto:[email protected]] On Behalf Of > Zhigang Gong > Sent: Friday, September 25, 2015 8:51 > To: Song, Ruiling > Cc: [email protected] > 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 <[email protected]> > > --- > > 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 > > [email protected] > > http://lists.freedesktop.org/mailman/listinfo/beignet > _______________________________________________ > Beignet mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
