With the patch, it could be fixed a conformance issue in my side. -----Original Message----- From: Beignet [mailto:[email protected]] On Behalf Of Zhigang Gong Sent: Tuesday, October 20, 2015 4:07 PM To: [email protected] Cc: Gong, Zhigang Subject: [Beignet] [PATCH] GBE: fix a regression bug at post phi copy optimization.
Forgot to handle the undefined phi value set of BBs when we replace registers. This information will be used at next round DAG generation. Signed-off-by: Zhigang Gong <[email protected]> --- backend/src/ir/liveness.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/src/ir/liveness.cpp b/backend/src/ir/liveness.cpp index 414bf42..d48f067 100644 --- a/backend/src/ir/liveness.cpp +++ b/backend/src/ir/liveness.cpp @@ -82,6 +82,8 @@ namespace ir { if (info.liveOut.contains(from)) { info.liveOut.erase(from); info.liveOut.insert(to); + // FIXME, a hack method to avoid the "to" register be treated as + // uniform value. bb->definedPhiRegs.insert(to); } if (info.upwardUsed.contains(from)) { @@ -92,6 +94,10 @@ namespace ir { info.varKill.erase(from); info.varKill.insert(to); } + if (bb->undefPhiRegs.contains(from)) { + bb->undefPhiRegs.erase(from); + bb->undefPhiRegs.insert(to); + } } } } -- 1.9.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
