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: Disable accumulate-outgoing-args for Generic and Buldozers


> On Thu, Feb 06, 2014 at 06:06:41PM +0100, Jan Hubicka wrote:
> > > Hi,
> > > this is improved patch I am testing.  The basic idea is to remove push
> > > expanders for cases where we do not have push instruction anyway.
> > > emit_move_insns then resorts to unconditonally call move expander
> > > with push operand.  I expended ix86_expand_vector_move to handle
> > > it gracefully and for that I borrowed emit_move_resolve_push
> > > function from expr.c since it seemed pointless to preserve
> > > duplicated logic in ix86_expand_push.
> > > 
> > > I can easily imagine that scheduling around function call sequences
> > > matters, so I also updated push/pop expanders to preserve memory attributes.
> > > 
> > > Eventually I found the attributes to be blank because of logic in expr.c
> > > that clears alias info when sibcall is enabled.  We can now do better
> > > by only disabling it in functions that actually do sibcalls.
> > > 
> > > Bootstrap/regtest running on x86_64-linux, OK for the non-i386 parts
> > > if it passes?
> > 
> > Ping...
> 
> The expr.[ch]/function.h/tree-tailcall.c bits are ok.
> I see your changes clash with my PR60077 fix, does your patch make them
> obsolete and you take care of using proper alignment info?
> If so, at least the two tests from that PR's patch should be added,
> but I can do that as a follow-up.

Yes, this patch was made to fix gcc.target/i386/pr35767-5.c
by obtaining correct alignment (and also alias) info on the store.
Sorry for making you to duplicate the effort - seems I should have pinged it
earlier.

Honza


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