Bug 43379 - [4.5 Regression] ICE: error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set with -O2 -ftracer
Summary: [4.5 Regression] ICE: error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set wi...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.5.0
: P3 normal
Target Milestone: 4.5.0
Assignee: Richard Biener
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-15 17:54 UTC by Zdenek Sojka
Modified: 2010-03-17 13:44 UTC (History)
2 users (show)

See Also:
Host: x86_64-pc-linux-gnu
Target: x86_64-pc-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed: 2010-03-16 10:14:14


Attachments
reduced testcase (77 bytes, text/plain)
2010-03-15 17:55 UTC, Zdenek Sojka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zdenek Sojka 2010-03-15 17:54:50 UTC
Command line:
gcc -O2 -ftracer testcase.c
or
gcc -O1 -freorder-blocks -ftracer -c testcase.c

Tested revisions:
r157460 - crash
r157386 - OK
r157326 - OK
r153685 - OK
4.4 r157395 - OK (with checking)

Compiler output:
$ /mnt/svn/gcc-trunk/binary-157460-lto/bin/gcc -O2 -ftracer -c testcase.c
testcase.c: In function 'foo':
testcase.c:6:3: warning: function returns address of local variable
testcase.c:1:7: error: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set
for SSA_NAME: .MEM_7 in statement:
.MEM_4(ab) = PHI <.MEM_6(D)(0), .MEM_5(ab)(4), .MEM_7(3)>
PHI argument
.MEM_7
for PHI node
.MEM_4(ab) = PHI <.MEM_6(D)(0), .MEM_5(ab)(4), .MEM_7(3)>
testcase.c:1:7: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Valgrind:
no errors reported
Comment 1 Zdenek Sojka 2010-03-15 17:55:51 UTC
Created attachment 20109 [details]
reduced testcase

Command line:
gcc -O2 -ftracer -c pr43379.c
Comment 2 H.J. Lu 2010-03-15 18:28:05 UTC
It is introduced between revision 157457 and revision 157460.
Comment 3 H.J. Lu 2010-03-15 18:49:56 UTC
It is caused by revision 157458:

http://gcc.gnu.org/ml/gcc-cvs/2010-03/msg00295.html
Comment 4 Richard Biener 2010-03-16 10:14:14 UTC
Mine.
Comment 5 Richard Biener 2010-03-16 12:31:59 UTC
Subject: Bug 43379

Author: rguenth
Date: Tue Mar 16 12:31:38 2010
New Revision: 157478

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157478
Log:
2010-03-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/43379
	* tree-cfg.c (gimple_merge_blocks): When propagating virtual
	PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI
	properly.

	* gcc.dg/pr43379.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/pr43379.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-cfg.c

Comment 6 Richard Biener 2010-03-16 12:32:16 UTC
Fixed.
Comment 7 Uroš Bizjak 2010-03-17 12:57:24 UTC
New test fails with:

Executing on host: /space/uros/gcc-build/gcc/xgcc -B/space/uros/gcc-build/gcc/ /home/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/pr43379.c   -O2 -ftracer -S  -o pr43379.s    (timeout = 300)
/home/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/pr43379.c: In function 'foo':^M
/home/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/pr43379.c:9:3: warning: function returns address of local variable^M
output is:
/home/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/pr43379.c: In function 'foo':^M
/home/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/pr43379.c:9:3: warning: function returns address of local variable^M

FAIL: gcc.dg/pr43379.c (test for excess errors)
Excess errors:
/home/uros/gcc-svn/trunk/gcc/testsuite/gcc.dg/pr43379.c:9:3: warning: function returns address of local variable
Comment 8 Richard Biener 2010-03-17 13:44:18 UTC
I fixed htat.
Comment 9 hjl@gcc.gnu.org 2010-03-25 16:40:39 UTC
Subject: Bug 43379

Author: hjl
Date: Thu Mar 25 16:39:51 2010
New Revision: 157726

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157726
Log:
Backport regression testcases from mainline.

2010-03-25  H.J. Lu  <hongjiu.lu@intel.com>

	Backport from mainline:
	2010-03-22  Jason Merrill  <jason@redhat.com>

	PR c++/43333
	* g++.dg/ext/is_pod_98.C: New.

	2010-03-22  Michael Matz  <matz@suse.de>

	PR middle-end/43475
	* gfortran.dg/pr43475.f90: New testcase.

	2010-03-22  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43390
	* gfortran.fortran-torture/execute/pr43390.f90: New testcase.

	2010-03-20  Dodji Seketeli  <dodji@redhat.com>

	PR c++/43375
	* g++.dg/abi/mangle42.C: New test.

	2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>

	PR C/43211
	* gcc.dg/pr43211.c: New test.

	2010-03-18  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/42450
	* g++.dg/torture/pr42450.C: New test.

	2010-03-18  Michael Matz  <matz@suse.de>

	PR tree-optimization/43402
	* gcc.dg/pr43402.c: New testcase.

	2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>

	PR target/42427
	* gcc.dg/pr42427.c: New test.

	2010-03-16  Richard Guenther  <rguenther@suse.de>

	PR middle-end/43379
	* gcc.dg/pr43379.c: New testcase.

	2010-03-15  Michael Matz  <matz@suse.de>

	PR middle-end/43300
	* gcc.dg/pr43300.c: New testcase.

	2010-03-15  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/43367
	* gcc.c-torture/compile/pr43367.c: New testcase.

Added:
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/abi/mangle42.C
      - copied unchanged from r157725, trunk/gcc/testsuite/g++.dg/abi/mangle42.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/ext/is_pod_98.C
      - copied unchanged from r157725, trunk/gcc/testsuite/g++.dg/ext/is_pod_98.C
    branches/gcc-4_4-branch/gcc/testsuite/g++.dg/torture/pr42450.C
      - copied unchanged from r157725, trunk/gcc/testsuite/g++.dg/torture/pr42450.C
    branches/gcc-4_4-branch/gcc/testsuite/gcc.c-torture/compile/pr43367.c
      - copied unchanged from r157725, trunk/gcc/testsuite/gcc.c-torture/compile/pr43367.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42427.c
      - copied unchanged from r157725, trunk/gcc/testsuite/gcc.dg/pr42427.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43211.c
      - copied unchanged from r157725, trunk/gcc/testsuite/gcc.dg/pr43211.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43300.c
      - copied unchanged from r157725, trunk/gcc/testsuite/gcc.dg/pr43300.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43379.c
      - copied unchanged from r157725, trunk/gcc/testsuite/gcc.dg/pr43379.c
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr43402.c
      - copied unchanged from r157725, trunk/gcc/testsuite/gcc.dg/pr43402.c
    branches/gcc-4_4-branch/gcc/testsuite/gfortran.dg/pr43475.f90
      - copied unchanged from r157725, trunk/gcc/testsuite/gfortran.dg/pr43475.f90
    branches/gcc-4_4-branch/gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90
      - copied unchanged from r157725, trunk/gcc/testsuite/gfortran.fortran-torture/execute/pr43390.f90
Modified:
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog