+2006-12-22 Paolo Bonzini <bonzini@gnu.org>
+
+ PR rtl-optimization/29840
+
+ * fwprop.c (forward_propagate_into): Reject artificial uses/defs.
+ (fwprop_init): Add DF_HARD_REGS to df_init call.
+
2006-12-21 Andrew Pinski <pinskia@gmail.com>
* tree-nested.c (create_tmp_var_for): Check for vector type
if (DF_REF_FLAGS (use) & DF_REF_READ_WRITE)
return;
+ if (DF_REF_FLAGS (use) & DF_REF_ARTIFICIAL)
+ return;
/* Only consider uses that have a single definition. */
defs = DF_REF_CHAIN (use);
def = defs->ref;
if (DF_REF_FLAGS (def) & DF_REF_READ_WRITE)
return;
+ if (DF_REF_FLAGS (def) & DF_REF_ARTIFICIAL)
+ return;
/* Do not propagate loop invariant definitions inside the loop if
we are going to unroll. */
/* Now set up the dataflow problem (we only want use-def chains) and
put the dataflow solver to work. */
- df = df_init (DF_SUBREGS | DF_EQUIV_NOTES);
+ df = df_init (DF_HARD_REGS | DF_SUBREGS | DF_EQUIV_NOTES);
df_chain_add_problem (df, DF_UD_CHAIN);
df_analyze (df);
df_dump (df, dump_file);