------- Comment #2 from jakub at gcc dot gnu dot org  2010-02-26 12:40 -------
Small correction, VALUE 13:13 has initial location %edi, before it is
equivalenced to VALUE 2:2.  So, at that point it is fine to have 13:13 as
cur_loc for VALUE 2:2, it is the same as having %edi there directly as cur_loc
(and of course %edi listed also in loc_chain).
The problem is when a circular loop between the cur_loc's is created (this
happens when %edi location is removed from VALUE 13:13's location and its
cur_loc is updated).  I guess at that point we need to change cur_loc in some
other VALUE in the loop (and if there is not any, just clear cur_loc to break
the loop).  Or come up with different representation for VALUE equivalences.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43176

Reply via email to