This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
- From: "seongbae dot park at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Oct 2007 20:18:16 -0000
- Subject: [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
- References: <bug-33669-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from seongbae dot park at gmail dot com 2007-10-08 20:18 -------
Subject: Re: [4.3 Regression] Revision 128957 miscompiles 481.wrf
Please remove the extra blank line above the line 984 (in new file).
This patch is OK.
Seongbae
On 10/7/07, Kenneth Zadeck <zadeck@naturalbridge.com> wrote:
> This patch fixes pr33669.
>
> The failure only happens if you have a block with 2 or more uses of a
> multiword pseudo register that is local to this block and has been
> allocated by local_alloc. The uses must be in a particular form: the
> last use must be a subreg use that only used some of the hard registers and
> a previous non subreg use of the multiword register.
>
> When all of this happens, the code did not properly expand this to a
> whole multiregister when the second to last use is encountered in the
> backwards scan.
>
> I.e. a lot of things have to happen to get this to fail.
>
> I have tested this patch on ia-64, x86-{64,32} and ppc-32.
>
> Ok for commit?
>
> Kenny
>
> 2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> PR middle-end/33669
> * ra-conflict.c (record_one_conflict_between_regnos,
> set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
> (global_conflicts): Removed incorrect check.
>
> 2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> PR middle-end/33669
> * gcc.c-torture/execute/pr33669.c: New.
>
>
>
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669