------- Comment #4 from spark at gcc dot gnu dot org 2007-06-14 18:31 ------- diff -r 8522653fd69d gcc/df-scan.c --- a/gcc/df-scan.c Thu Jun 14 00:17:05 2007 +0000 +++ b/gcc/df-scan.c Thu Jun 14 11:29:46 2007 -0700 @@ -2982,9 +2982,9 @@ df_uses_record (struct df_collection_rec case PRE_MODIFY: case POST_MODIFY: /* Catch the def of the register being modified. */ - flags |= DF_REF_READ_WRITE | DF_REF_PRE_POST_MODIFY; df_ref_record (collection_rec, XEXP (x, 0), &XEXP (x, 0), bb, insn, - DF_REF_REG_DEF, flags); + DF_REF_REG_DEF, + flags | DF_REF_READ_WRITE | DF_REF_PRE_POST_MODIFY);
/* ... Fall through to handle uses ... */ This patch fixes the problem. I'm starting the testing. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32339