Summary: | [7 Regression] gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault” | ||
---|---|---|---|
Product: | gcc | Reporter: | Qirun Zhang <helloqirun> |
Component: | tree-optimization | Assignee: | Richard Biener <rguenth> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P3 | ||
Version: | 7.0 | ||
Target Milestone: | 7.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2016-06-09 00:00:00 |
Description
Qirun Zhang
2016-06-08 19:16:40 UTC
Confirmed. I will have a look. #4 0x0000000001035c30 in find_uses_to_rename (changed_bbs=0x26e1748, use_blocks=0x281d750, need_phis=0x2792450, use_flags=1) at /space/rguenther/src/svn/trunk/gcc/tree-ssa-loop-manip.c:476 476 need_phis, use_flags); (gdb) l 471 bitmap_iterator bi; 472 473 if (changed_bbs) 474 EXECUTE_IF_SET_IN_BITMAP (changed_bbs, 0, index, bi) 475 find_uses_to_rename_bb (BASIC_BLOCK_FOR_FN (cfun, index), use_blocks, 476 need_phis, use_flags); hits a block in the bitmap that was removed. This bitmap is filled by unloop called in unloop_loops and after that we remove paths that may cause such blocks to become removed... It's probably easiest to robustify the above code instead. Author: rguenth Date: Thu Jun 9 11:36:22 2016 New Revision: 237254 URL: https://gcc.gnu.org/viewcvs?rev=237254&root=gcc&view=rev Log: 2016-06-09 Richard Biener <rguenther@suse.de> PR tree-optimization/71462 * tree-ssa-loop-manip.c (find_uses_to_rename): Guard against removed blocks. * gcc.dg/torture/pr71462.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/torture/pr71462.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-loop-manip.c Fixed. |