Bug 15569 - [3.4 regression] Gcc 3.4.1 failed to build ia64 2.6.6 kernel
Summary: [3.4 regression] Gcc 3.4.1 failed to build ia64 2.6.6 kernel
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.4.1
: P2 critical
Target Milestone: 3.4.1
Assignee: Jim Wilson
URL:
Keywords:
: 15681 (view as bug list)
Depends on:
Blocks: 15681
  Show dependency treegraph
 
Reported: 2004-05-21 18:12 UTC by H.J. Lu
Modified: 2005-07-23 22:49 UTC (History)
4 users (show)

See Also:
Host: ia64-unknown-linux-gnu
Target: ia64-unknown-linux-gnu
Build: ia64-unknown-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
A testcase (408 bytes, text/plain)
2004-05-21 18:14 UTC, H.J. Lu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2004-05-21 18:12:17 UTC
Building 2.6.6 ia64 Linux kernel caused ICE.
Comment 1 H.J. Lu 2004-05-21 18:14:04 UTC
Created attachment 6357 [details]
A testcase

[hjl@gnu-4 linux-2.6.6]$ /usr/gcc-3.4/bin/gcc	 -frename-registers -O2  
-mconstant-gp -c foo.c
foo.c: In function `ext2_lookup':
foo.c:66: internal compiler error: in verify_local_live_at_start, at flow.c:546

Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Comment 2 Andrew Pinski 2004-05-21 18:56:42 UTC
Does removing -frename-registers fix the bug?
Comment 3 H.J. Lu 2004-05-21 19:17:16 UTC
Removing frename-registers will make gcc to finish. But I won't
call it fix. Gcc 3.2 has no problem. I was told

gcc version 3.4 20031201 (experimental)

was OK.
Comment 4 H.J. Lu 2004-05-21 21:57:39 UTC
I verified that this patch

http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02263.html

caused the regression.
Comment 5 Andrew Pinski 2004-05-21 23:17:32 UTC
But that patch should not cause any problem if there is problem in is caused by one of the two passes 
which were interchanged.
Comment 6 H.J. Lu 2004-05-22 22:52:34 UTC
This thread

http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00961.html

leads changes which fix the problem on the mainline. I think we should either
backport those changes to 3.4 or revert the patch which triggered the
regression.
Comment 7 Andrew Pinski 2004-05-22 22:57:31 UTC
You mean -fweb fixes it?
Comment 8 H.J. Lu 2004-05-22 23:08:23 UTC
After this checkin

http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00552.html

mainline is OK. But I am sure if that patch requires other additonal
patches.
Comment 9 Andrew Pinski 2004-05-22 23:18:21 UTC
Yes that one required more patches, but what you are saying that -fweb fixes the problem as that is 
what the patch does?
Comment 10 H.J. Lu 2004-05-22 23:41:44 UTC
What I was saying was before

http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00552.html

gcc failed the testcase. After

http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00552.html

gcc passed the testcase. Nothing more.
Comment 11 Andrew Pinski 2004-05-22 23:53:05 UTC
But that means that -fweb fixes the problem as that is what the patch does, if it does then there is still 
a bug somewhere else.
Comment 12 H.J. Lu 2004-05-22 23:55:45 UTC
The thread

http://gcc.gnu.org/ml/gcc-patches/2004-04/msg00961.html

mentions -frename-registers, which triggers the gcc bug when
compiling my testcase.
Comment 13 Paolo Bonzini 2004-05-27 15:59:35 UTC
I think that -frename-registers should be disabled at -O3 for 3.4 branch as
well. Ideally, the compiler should bootstrap at -O3 on all platforms.
Comment 14 Jim Wilson 2004-06-01 04:20:05 UTC
Subject: Re:  [3.4 regression] Gcc 3.4.1 failed to build
 ia64 2.6.6 kernel

hjl at lucon dot org wrote:
> [hjl@gnu-4 linux-2.6.6]$ /usr/gcc-3.4/bin/gcc	 -frename-registers -O2  
> -mconstant-gp -c foo.c
> foo.c: In function `ext2_lookup':
> foo.c:66: internal compiler error: in verify_local_live_at_start, at flow.c:546

When -frename-registers got added to -O2 on mainline, there were IA-64 
bootstrap failures.  I had to write a patch for that.  The patch can be 
found here:
     http://gcc.gnu.org/ml/gcc-patches/2004-04/msg01328.html

With this patch applied, the testcase compiles OK.

So it looks like we need to backport this patch onto the gcc-3.4 branch. 
  I am leaving for the GCC Summit tomorrow, so I won't be able to test 
this until next week.
Comment 15 Jim Wilson 2004-06-01 04:24:49 UTC
*** Bug 15681 has been marked as a duplicate of this bug. ***
Comment 16 GCC Commits 2004-06-08 06:57:07 UTC
Subject: Bug 15569

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	wilson@gcc.gnu.org	2004-06-08 06:56:45

Modified files:
	gcc            : ChangeLog 
	gcc/config/ia64: ia64.md 

Log message:
	PR target/15569
	* config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
	(vall_value_gp): Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.478&r2=2.2326.2.479
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.119.2.3&r2=1.119.2.4

Comment 17 Jim Wilson 2004-06-08 06:58:20 UTC
Mine.
Comment 18 Jim Wilson 2004-06-08 06:59:07 UTC
Fixed.
Comment 19 GCC Commits 2004-06-10 08:43:30 UTC
Subject: Bug 15569

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jakub@gcc.gnu.org	2004-06-10 08:43:16

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20040609-1.c 

Log message:
	PR target/15569
	PR rtl-optimization/15681
	* gcc.dg/20040609-1.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3836&r2=1.3837
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&r1=NONE&r2=1.1

Comment 20 GCC Commits 2004-06-10 08:46:13 UTC
Subject: Bug 15569

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	jakub@gcc.gnu.org	2004-06-10 08:46:10

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20040609-1.c 

Log message:
	PR target/15569
	PR rtl-optimization/15681
	* gcc.dg/20040609-1.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.201&r2=1.3389.2.202
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1

Comment 21 GCC Commits 2004-06-28 22:28:37 UTC
Subject: Bug 15569

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_3-rhl-branch
Changes by:	jakub@gcc.gnu.org	2004-06-28 22:28:32

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20040609-1.c 

Log message:
	PR target/15569
	PR rtl-optimization/15681
	* gcc.dg/20040609-1.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=1.2261.2.170.2.59&r2=1.2261.2.170.2.60
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-rhl-branch&r1=NONE&r2=1.1.10.1

Comment 22 GCC Commits 2004-07-01 10:52:35 UTC
Subject: Bug 15569

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_2-rhl8-branch
Changes by:	jakub@gcc.gnu.org	2004-07-01 10:52:31

Modified files:
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20040609-1.c 

Log message:
	PR target/15569
	PR rtl-optimization/15681
	* gcc.dg/20040609-1.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.1672.2.166.2.8.2.82&r2=1.1672.2.166.2.8.2.83
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040609-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=NONE&r2=1.1.12.1