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.