https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63156

--- Comment #9 from Carrot <carrot at google dot com> ---
The original flag setting code is neither correct. Consider following
pre_modify expression:

(pre_modify (r1)                // def1, use1
            (plus (r1)          // use2
                  (r2)))        // use3

GCC will generate 4 df_ref information for this expression as noted, 1 def and
3 use. Current code only set DF_REF_READ_WRITE for def1, this causes web do
wrong renaming. The original flag setting code will set DF_REF_READ_WRITE for
all def/use in this expression, this is obviously wrong for r2. 

I don't know if this has any relations to bug 32339.

Reply via email to