[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-19 Thread rguenth at gcc dot gnu dot org


--- Comment #15 from rguenth at gcc dot gnu dot org  2010-05-19 12:54 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to fail||4.5.0
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-10 Thread hjl at gcc dot gnu dot org


--- Comment #13 from hjl at gcc dot gnu dot org  2010-05-10 14:02 ---
Subject: Bug 44012

Author: hjl
Date: Mon May 10 14:02:43 2010
New Revision: 159223

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159223
Log:
Nullify regno_allocno_map of the removed allocno.

gcc/

2010-05-10  H.J. Luhongjiu...@intel.com
Vladimir Makarovvmaka...@redhat.com

PR rtl-optimization/44012
* ira-build.c (remove_unnecessary_allocnos): Nullify
regno_allocno_map of the removed allocno.

gcc/testsuite/

2010-05-10  H.J. Lu  hongjiu...@intel.com

PR rtl-optimization/44012
* gcc.dg/pr44012.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/pr44012.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-build.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-10 Thread hjl at gcc dot gnu dot org


--- Comment #14 from hjl at gcc dot gnu dot org  2010-05-10 14:05 ---
Subject: Bug 44012

Author: hjl
Date: Mon May 10 14:05:16 2010
New Revision: 159224

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=159224
Log:
Nullify regno_allocno_map of the removed allocno.

gcc/

2010-05-10  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-05-10  H.J. Luhongjiu...@intel.com
Vladimir Makarovvmaka...@redhat.com

PR rtl-optimization/44012
* ira-build.c (remove_unnecessary_allocnos): Nullify
regno_allocno_map of the removed allocno.

gcc/testsuite/

2010-05-10  H.J. Lu  hongjiu...@intel.com

Backport from mainline
2010-05-10  H.J. Lu  hongjiu...@intel.com

PR rtl-optimization/44012
* gcc.dg/pr44012.c: New.

Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/pr44012.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/ira-build.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-07 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2010-05-07 09:46 
---
There may be a dup of this bug (can't find it right now).


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.5.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-07 Thread vmakarov at redhat dot com


--- Comment #12 from vmakarov at redhat dot com  2010-05-07 17:49 ---
  When allocno is finished, its some info is propagated into upper allocno. 
When several allocnos with same regno are finished, info can be propagated
directly to survived upper allocno or through one allocno will be finished.  It
depends on region configuration and order of allocnos with the same regno in
the corresponding list.  The sigsegv occurs in the second case when we remove
allocno and propagates this info through allready removed allocno.  It happens
because regno_allocno_map which is used to find allocno into which the info to
propagate is not nullified after removing allocno.

H.J.'s patch idea is right but the patch is complicated.  I'll send a simplier
patch soon.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #7 from zsojka at seznam dot cz  2010-05-06 16:47 ---
You are right, the reduced testcase from comment #4 crashes with:

Command line:
$ gcc -O1 -fgcse pr44012.c

Tested revisions:
r159109 - crash
r158683 - crash
r157702 - crash
r153685 - crash
4.5 r158978 - crash
4.4 r158133 - OK
4.4 r157895 - OK


-- 

zsojka at seznam dot cz changed:

   What|Removed |Added

Summary|ICE: SIGSEGV in |[4.5/4.6 Regression] ICE:
   |ira_merge_allocno_live_range|SIGSEGV in
   |s   |ira_merge_allocno_live_range
   ||s


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread hjl dot tools at gmail dot com


--- Comment #8 from hjl dot tools at gmail dot com  2010-05-06 18:57 ---
(In reply to comment #4)
 Created an attachment (id=20589)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20589action=view) [edit]
 reduced testcase
 
 Command line:
 gcc -O1 -fgcse -findirect-inlining pr44012.c
 
 not tested with r159108 yet
 

This is caused by revision 147852:

http://gcc.gnu.org/ml/gcc-cvs/2009-05/msg00829.html

There may be 2 bugs.


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-05-06 18:57:42
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread hjl dot tools at gmail dot com


--- Comment #9 from hjl dot tools at gmail dot com  2010-05-06 21:01 ---
Created an attachment (id=20590)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20590action=view)
A patch

This patch avoids ICE.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012



[Bug rtl-optimization/44012] [4.5/4.6 Regression] ICE: SIGSEGV in ira_merge_allocno_live_ranges

2010-05-06 Thread zsojka at seznam dot cz


--- Comment #10 from zsojka at seznam dot cz  2010-05-07 00:32 ---
(In reply to comment #9)

That patch fixes all testcases and flag combinations I tried (eg. gcc doesn't
crash)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44012