This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH]: update to df for mainline.


Dealing with reginfo.diff now...

+ the aggrigate is still needed to service the REG_DEAD and

"aggregate"


-  struct df_ri_problem_data *problem_data =
-    (struct df_ri_problem_data *) dflow->problem_data;

I think the "=" should be on the second line.


+ struct df * df = dflow->df;

"df *df"


+  return regstack_completed
+    && IN_RANGE (regno, FIRST_STACK_REG, LAST_STACK_REG);

Parenthesize for nicer formatting. Move #ifdefs into the function.


+	  if (flags & DF_RI_LIFE)
+	    if (df_ignore_stack_reg (REGNO (XEXP (link, 0))))
+	      REG_N_DEATHS (REGNO (XEXP (link, 0)))++;

Add break here for clarity.


+ if (all_dead)
+ {
+ struct df_link *regs = mws->regs;
+ rtx note = alloc_EXPR_LIST (REG_UNUSED, *DF_REF_LOC (regs->ref), + REG_NOTES (insn));

That probably works, but it looks as if it were using an individual reg rather than the whole. Maybe this could be written differently.


+ bitmap_set_bit (do_not_gen, regno);

Only the first? Probably ok given what df_set_dead_notes_for_mw does.


Lots of code shared between df_set_{dead,unused}_notes_for_mw.

+ else if ( (!(DF_REF_FLAGS (def) & DF_REF_MW_HARDREG))

Kill the space.


+      rtx note =
+	alloc_EXPR_LIST (REG_UNUSED, reg, REG_NOTES (insn));

Formatting; see above.


+ REG_N_DEATHS (dregno) ++;

Kill the space.


+  /* Kill this register if it is not a subreg store.  */
+  if (!(DF_REF_FLAGS (def) & DF_REF_PARTIAL))
+    bitmap_clear_bit (live, dregno);

Looks like this depends on another part. I have to admit that I'm not convinced yet by the subreg handling in DF as a whole. A normal (non-multiword non-strict-low) subreg store _does_ kill the whole reg.


+ if ((dflow->flags & DF_RI_LIFE) && (uregno >= FIRST_PSEUDO_REGISTER))

Some parens unnecessary. Elsewhere too.


Do you think we need this patch in stage3, or can it wait until 4.3 stage1?


Bernd



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]