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]: Fix latent bug in tailcall


Daniel Berlin wrote:
> This patch fixes a latent bug in tree-tailcall where it did not update
> the virtual ssa form for non-call clobbered virtual operands, even when
> there were live on entry virtual operands that needed updating.

Just to be thorough for Diego (and the list)'s, you *could* do this
without calling update_ssa, but the algorithm used is the same:

For each virtual definition that has a live on entry operand
  1. Find the definition that will now reach the entry block
  and a dd this definition as a phi argument.
  2. Add the live on entry definition as the other phi argument
  3. Replace all uses to use the phi node.

I tried implementing this, and it ends up being no faster than calling
the virtuals-only update, so ......

--Dan


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