This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: A scheduler/aliase bug?
- To: hjl at lucon dot org (H.J. Lu)
- Subject: Re: A scheduler/aliase bug?
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sat, 16 Jan 1999 14:18:56 -0700
- cc: egcs-bugs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <m101bGH-00038dC@ocean.lucon.org>you write:
> With egcs 1.1.1 and 1999-01-12 on 586, I got
>
> # gcc -B/home/work/build/bin/egcs-1.1.1/gcc/ -O2 -fPIC 980506-2a.c -mcpu=i5
> 86
> # a.out
> zsh: 28220 abort ./a.out
>
> The bug may be in scheduler or aliase analysis. Add -fno-schedule-insns2
> hides the bug. The problem is around
>
> call self@PLT
> movl $0,-4(%ebp)
> movl (%eax),%eax
>
> schedule_block () changes it to
>
> call self@PLT
> movl (%eax),%eax
> movl $0,-4(%ebp)
>
> But it doesn't notice -4(%ebp) == (%eax). BTW, this testcase is almost
> the same as gcc.c-torture/execute/980506-2.c.
>
> The interesting thing is it only happens with -mcpu=i586. i386, i486 and
> i686 are ok.
You might try Mark Mitchell's patch for MEM_IN_STRUCT_P (which I haven't had
a chance to look at yet).
jeff