[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-03-15 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #10 from Alan Modra  ---
Author: amodra
Date: Tue Mar 15 22:05:22 2016
New Revision: 234237

URL: https://gcc.gnu.org/viewcvs?rev=234237=gcc=rev
Log:
Fix thinko in indirect_jump_optimize

PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (indirect_jump_optimize): Ignore artificial defs.
Add comments.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/ira.c

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-03-15 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #9 from Alan Modra  ---
Author: amodra
Date: Tue Mar 15 22:04:54 2016
New Revision: 234236

URL: https://gcc.gnu.org/viewcvs?rev=234236=gcc=rev
Log:
Fix thinko in indirect_jump_optimize

PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (indirect_jump_optimize): Ignore artificial defs.
Add comments.


Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/ira.c

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-03-15 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #8 from Alan Modra  ---
Author: amodra
Date: Tue Mar 15 22:04:42 2016
New Revision: 234235

URL: https://gcc.gnu.org/viewcvs?rev=234235=gcc=rev
Log:
Fix thinko in indirect_jump_optimize

PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (indirect_jump_optimize): Ignore artificial defs.
Add comments.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-03-10 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #7 from Alan Modra  ---
Author: amodra
Date: Thu Mar 10 10:48:58 2016
New Revision: 234103

URL: https://gcc.gnu.org/viewcvs?rev=234103=gcc=rev
Log:
PR69195, Reload confused by invalid reg_equiv

Optimizing indirect jumps to direct jumps, and deleting dead insns can
lead to changes in register lifetimes, which in turn can result in bad
reg_equiv info being passed to reload.  So do these tasks before
calculating reg_equiv info.

gcc/
PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (recorded_label_ref): Delete.
(update_equiv_regs): Return void.
(indirect_jump_optimize): New function.
(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
before regstat_compute_ri.  Don't rebuild_jump_labels here.
gcc/testsuite/
* gcc.dg/pr69195.c: New.
* gcc.dg/pr69238.c: New.

Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr69195.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/pr69238.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/ira.c
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-03-10 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #6 from Alan Modra  ---
Author: amodra
Date: Thu Mar 10 10:48:14 2016
New Revision: 234102

URL: https://gcc.gnu.org/viewcvs?rev=234102=gcc=rev
Log:
PR69195, Reload confused by invalid reg_equiv

Optimizing indirect jumps to direct jumps, and deleting dead insns can
lead to changes in register lifetimes, which in turn can result in bad
reg_equiv info being passed to reload.  So do these tasks before
calculating reg_equiv info.

gcc/
PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (recorded_label_ref): Delete.
(update_equiv_regs): Return void.
(indirect_jump_optimize): New function.
(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
before regstat_compute_ri.  Don't rebuild_jump_labels here.
gcc/testsuite/
* gcc.dg/pr69195.c: New.
* gcc.dg/pr69238.c: New.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr69195.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr69238.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/ira.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-03-10 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #5 from Alan Modra  ---
Author: amodra
Date: Thu Mar 10 10:47:13 2016
New Revision: 234101

URL: https://gcc.gnu.org/viewcvs?rev=234101=gcc=rev
Log:
PR69195, Reload confused by invalid reg_equiv

Optimizing indirect jumps to direct jumps, and deleting dead insns can
lead to changes in register lifetimes, which in turn can result in bad
reg_equiv info being passed to reload.  So do these tasks before
calculating reg_equiv info.

gcc/
PR rtl-optimization/69195
PR rtl-optimization/47992
* ira.c (recorded_label_ref): Delete.
(update_equiv_regs): Return void.
(indirect_jump_optimize): New function.
(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
before regstat_compute_ri.  Don't rebuild_jump_labels here.
Delete update_regstat.
gcc/testsuite/
* gcc.dg/pr69195.c: New.
* gcc.dg/pr69238.c: New.

Added:
trunk/gcc/testsuite/gcc.dg/pr69195.c
trunk/gcc/testsuite/gcc.dg/pr69238.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira.c
trunk/gcc/testsuite/ChangeLog

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-01-19 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

Bernd Schmidt  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Bernd Schmidt  ---
Patch committed as r232556.

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2016-01-13 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

Bernd Schmidt  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-01-13
 CC||bernds at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |bernds at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Bernd Schmidt  ---
No longer reproduces, but I think not fixed yet. Testing a patch.

[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2012-02-02 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-02 
08:33:32 UTC ---
This works for me on the trunk.


[Bug rtl-optimization/47992] ICE: SIGSEGV in ira_reuse_stack_slot (ira-color.c:2887) with -fweb

2011-03-04 Thread zsojka at seznam dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47992

--- Comment #1 from Zdenek Sojka zsojka at seznam dot cz 2011-03-04 20:02:03 
UTC ---
Seems I forgot to paste the compiler output:
$ gcc -O -fno-dce -fgcse -fno-tree-ccp -fno-tree-dominator-opts
-funroll-all-loops -wrapper valgrind,-q,--num-callers=40 testcase.f 
testcase.f:2.72:

  ASSIGN 20 TO M   !{ dg-warning Deleted feature: ASSIGN 
1
Warning: Deleted feature: ASSIGN statement at (1)
testcase.f:6.72:

  30  ASSIGN 10 TO M   !{ dg-warning Deleted feature: ASSIGN 
1
Warning: Deleted feature: ASSIGN statement at (1)
testcase.f:7.12:

  40  GOTO M,(10,20,30)!{ dg-warning Deleted feature: Assigned 
1
Warning: Deleted feature: Assigned GOTO statement at (1)
==1357== Invalid read of size 4
==1357==at 0x8027D1: ira_reuse_stack_slot (ira-color.c:2887)
==1357==by 0x8B54A6: alter_reg (reload1.c:2180)
==1357==by 0x8C00E1: reload (reload1.c:795)
==1357==by 0x7EDF78: ira (ira.c:3273)
==1357==by 0x7EFD8F: rest_of_handle_ira (ira.c:3343)
==1357==by 0x857895: execute_one_pass (passes.c:1556)
==1357==by 0x857B94: execute_pass_list (passes.c:1611)
==1357==by 0x857BA6: execute_pass_list (passes.c:1612)
==1357==by 0x99AAF5: tree_rest_of_compilation (tree-optimize.c:422)
==1357==by 0xB62B41: cgraph_expand_function (cgraphunit.c:1576)
==1357==by 0xB65289: cgraph_optimize (cgraphunit.c:1635)
==1357==by 0xB65809: cgraph_finalize_compilation_unit (cgraphunit.c:1096)   
==1357==by 0x810D3C: write_global_declarations (langhooks.c:303)
==1357==by 0x943A87: toplev_main (toplev.c:591) 
==1357==by 0x64AABBC: (below main) (in /lib64/libc-2.11.2.so)   
==1357==  Address 0xc is not stack'd, malloc'd or (recently) free'd 
==1357==
testcase.f: In function 'MAIN__':   
testcase.f:8:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.