public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: "H. J. Lu" <hjl@lucon.org>
To: Greg Schafer <gschafer@zip.com.au>, kelledin@users.sourceforge.net
Cc: gcc@gcc.gnu.org, law@redhat.com, gcc-patches@gcc.gnu.org,
	gcc-bugs@gcc.gnu.org
Subject: Re: optimization/7591: function-related struct copy bug
Date: Sun, 18 Aug 2002 08:36:00 -0000	[thread overview]
Message-ID: <20020818083604.A20945@lucon.org> (raw)
In-Reply-To: <20020818081443.A20617@lucon.org>

On Sun, Aug 18, 2002 at 08:14:43AM -0700, H. J. Lu wrote:
> On Sun, Aug 18, 2002 at 08:06:17AM -0700, H. J. Lu wrote:
> > On Sun, Aug 18, 2002 at 12:09:21AM -0700, H. J. Lu wrote:
> > > On Sun, Aug 18, 2002 at 03:20:09PM +1000, Greg Schafer wrote:
> > > > On Sat, Aug 17, 2002 at 06:48:00PM -0700, H. J. Lu wrote:
> > > > > On Sun, Aug 18, 2002 at 09:34:01AM +1000, Greg Schafer wrote:
> > > > > > Hello there
> > > > > > 
> > > > > > I notice that your gcc test results do not fail the test
> > > > > > gcc.c-torture/execute/20020307-2.c
> > > > > > but just about everyone else in the world on i686-pc-linux-gnu
> > > > > > seems to fail that test.
> > > > > > 
> > > > > > Do you know the reason for this? Do you use a local patch or something?
> > > > > > 
> > > > > 
> > > > > http://gcc.gnu.org/ml/gcc-patches/2002-07/msg01561.html
> > > > 
> > > > Ahhh, thanks. Not only did it fix that test but it also made
> > > > "gcc.dg/sequence-pt-1.c" pass for me which was failing otherwise.
> > > > 
> > > > Unfortunately, It doesn't fix the testcase in Gnats PR 7591 which you
> > > > pointed out seems to be caused by -maccumulate-outgoing-args in
> > > > combination with -mcpu=i686
> > > 
> > > I think it is unrelated. Jeff, I think your patch
> > > 
> > > http://gcc.gnu.org/ml/gcc-patches/1999-02n/msg00379.html
> > > 
> > > may be the cause for that bug. The problem is you mark the stack
> > > slots being used before they are used by the memcpy libcall:
> > > 
> > > 1. expand_call calls store_one_arg.
> > > 2. store_one_arg marks the stack slots used by arg are being used.
> > > 3. store_one_arg calls emit_push_insn to push arg.
> > > 4. emit_push_insn calls emit_library_call to copy arg onto stack.
> > > 5. emit_library_call calls emit_library_call_value_1 to emit memcpy.
> > > 6. emit_library_call_value_1 finds the stack slots it is supposed
> > > to fill are used.
> > > 7. emit_library_call_value_1 does save/restore around memcpy.
> > > 
> > > It doesn't work on x86.
> > > 
> > 
> > I am testing this patch now. I partially reverted Jeff's patch and
> > move setting stack_usage_map just before expand_expr, which is needed
> > according to Jeff's orignal message.
> > 
> 
> Never mind. It doesn't work. I guess we need to find a way only to do
> it when it is necessary, like for mn102/mn103.
> 

I am testing this now.


H.J.

  reply	other threads:[~2002-08-18  8:36 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20020818093401.A15946@tigers-lfs.nsw.bigpond.net.au>
     [not found] ` <20020817184800.A2198@lucon.org>
     [not found]   ` <20020818152009.A29717@tigers-lfs.nsw.bigpond.net.au>
2002-08-18  0:09     ` Results for 3.2.1 20020816 (prerelease) testsuite on i686-pc-linux-gnu H. J. Lu
2002-08-18  8:06       ` optimization/7591: function-related struct copy bug H. J. Lu
2002-08-18  8:14         ` H. J. Lu
2002-08-18  8:36           ` H. J. Lu [this message]
2002-08-18 13:28             ` H. J. Lu
2002-08-19  2:50             ` Greg Schafer
2002-08-19  7:09               ` H. J. Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020818083604.A20945@lucon.org \
    --to=hjl@lucon.org \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=gschafer@zip.com.au \
    --cc=kelledin@users.sourceforge.net \
    --cc=law@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).