> -----Original Message----- > From: Beignet [mailto:[email protected]] On Behalf Of > Zhigang Gong > Sent: Monday, September 7, 2015 8:20 AM > To: [email protected] > Cc: Gong, Zhigang > Subject: [Beignet] [PATCH v2 1/2] GBE: continue to refine interfering check. > > More aggresive interfering check, even if both registers are in Livein set or > Liveout set, they are still possible not interfering to each other. > > v2: > Liveout interfering check need to take care those BBs which has only one > register defined. > > For example: > > BBn: > ... > MOV %r1, %src > ... > > Both %r1 and %r2 are in the BBn's liveout set, but %r2 is not defined or used > in > BBn. The previous implementation ignore this BB which is incorrect. As %r1 was > modified to a different value, it means %r1 could not be replaced with %r2 in > this case. I thought of another one: (r0, r1 contain different values) BB0: def r0
BB1: def r1 use r1 use r0 How could the algorithm deal with it? And looks like the algorithm is converting the "live-range interference problem" into "checking the interference in live-In, live-Out set". Any paper talking on this method? And for same BB interference (r0, r1 defined and used in same BB), although we don't need to support it yet, I think if we can put an assert, it would be better. Thanks! Ruiling _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
