[patch] PR23234 (take 2)
Steven Bosscher
stevenb@suse.de
Mon Aug 8 17:32:00 GMT 2005
On Monday 08 August 2005 19:17, Richard Henderson wrote:
> On Mon, Aug 08, 2005 at 12:03:56AM +0200, Steven Bosscher wrote:
> > (execute_cse_reciprocals): Add reciprocals for function arguments
> > before the last statement of the first basic block.
>
> Update changelog entries when you change patches.
Right. Sorry about that.
> > + /* ??? bsi_after_labels doesn't work if there is no label in the
> > + basic block, which is the common situation for the first block
> > + of a function. */
> > + while (!bsi_end_p (bsi) && TREE_CODE (bsi_stmt (bsi)) ==
> > LABEL_EXPR) + bsi_next (&bsi);
> > +
> > + for (arg = DECL_ARGUMENTS (cfun->decl); arg; arg = TREE_CHAIN
> > (arg)) + if (default_def (arg))
> > + execute_cse_reciprocals_1 (&bsi, default_def (arg), true);
>
> So we're going to rely on loop optimization to move the recip out
> of the loop? As opposed to insertting the code on the edge from
> the entry block in the first place?
It crossed my mind, but you approved it that way the first time
round, and I didn't feel like changing it. I thought it would
require calling bsi_commit_edge_inserts, making things slow for
no good reason. But I discovered bsi_commit_one_edge_insert just
now. I'll create a new patch.
Gr.
Steven
More information about the Gcc-patches
mailing list