public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/57411] New: [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize
@ 2013-05-25 8:28 zsojka at seznam dot cz
2013-05-27 8:30 ` [Bug tree-optimization/57411] " rguenth at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: zsojka at seznam dot cz @ 2013-05-25 8:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57411
Bug ID: 57411
Summary: [4.9 Regression] ICE: verify_ssa failed: definition in
block 4 does not dominate use in block 11 with
-fno-tree-dce -ftree-vectorize
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: zsojka at seznam dot cz
Created attachment 30189
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30189&action=edit
reduced testcase
Compiler output:
$ gcc -O -fno-tree-dce -ftree-vectorize testcase.C
testcase.C: In function 'void test01(int)':
testcase.C:15:1: error: definition in block 4 does not dominate use in block 11
test01 (int equal)
^
for SSA_NAME: .MEM_44 in statement:
.MEM_1 = PHI <.MEM_44(11), .MEM_5(12)>
PHI argument
.MEM_44
for PHI node
.MEM_1 = PHI <.MEM_44(11), .MEM_5(12)>
testcase.C:15:1: internal compiler error: verify_ssa failed
0xd63bc9 verify_ssa(bool)
/mnt/svn/gcc-trunk/gcc/tree-ssa.c:1046
0xaf4b91 execute_function_todo
/mnt/svn/gcc-trunk/gcc/passes.c:1970
0xaf54e7 execute_todo
/mnt/svn/gcc-trunk/gcc/passes.c:2002
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
$ gcc -v
Using built-in specs.
COLLECT_GCC=/mnt/svn/gcc-trunk/binary-latest/bin/gcc
COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-199312-lto-fortran-checking-yes-rtl-df/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /mnt/svn/gcc-trunk//configure --enable-checking=yes,rtl,df
--enable-languages=c,c++,lto,fortran
--prefix=/mnt/svn/gcc-trunk/binary-199312-lto-fortran-checking-yes-rtl-df/
--without-cloog --without-ppl
Thread model: posix
gcc version 4.9.0 20130524 (experimental) (GCC)
Tested revisions:
r199312 - fail
4.8 r198018 - OK
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/57411] [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize
2013-05-25 8:28 [Bug tree-optimization/57411] New: [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize zsojka at seznam dot cz
@ 2013-05-27 8:30 ` rguenth at gcc dot gnu.org
2013-05-27 12:02 ` rguenth at gcc dot gnu.org
2013-05-28 10:55 ` rguenth at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-05-27 8:30 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57411
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2013-05-27
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Target Milestone|--- |4.9.0
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed, mine.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/57411] [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize
2013-05-25 8:28 [Bug tree-optimization/57411] New: [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize zsojka at seznam dot cz
2013-05-27 8:30 ` [Bug tree-optimization/57411] " rguenth at gcc dot gnu.org
@ 2013-05-27 12:02 ` rguenth at gcc dot gnu.org
2013-05-28 10:55 ` rguenth at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-05-27 12:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57411
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's already DOM that breaks virtual SSA form by making life-ranges overlap
(something we do not verify ...)
<bb 5>:
# .MEM_14 = PHI <.MEM_9(3)>
if (equal_4(D) != 0)
goto <bb 6>;
else
goto <bb 7>;
<bb 6>:
# .MEM_5 = VDEF <.MEM_14>
assert_fail ();
<bb 7>:
# .MEM_1 = PHI <.MEM_9(5), .MEM_5(6)>
# VUSE <.MEM_1>
return;
here .MEM_14 and .MEM_9 have overlapping life-ranges.
@@ -33,7 +50,7 @@
assert_fail ();
<bb 7>:
- # .MEM_1 = PHI <.MEM_14(5), .MEM_5(6)>
+ # .MEM_1 = PHI <.MEM_9(5), .MEM_5(6)>
# VUSE <.MEM_1>
return;
It fails to update the
# .MEM_5 = VDEF <.MEM_14>
assert_fail ();
statement because it only walks over real operands when optimizing stmts
in cprop_into_stmt and because it refrains from
/* Do not propagate copies if the propagated value is at a deeper loop
depth than the propagatee. Otherwise, this may move loop variant
variables outside of their loops and prevent coalescing
opportunities. If the value was loop invariant, it will be hoisted
by LICM and exposed for copy propagation. */
if (loop_depth_of_name (val) > loop_depth_of_name (op))
return;
thus it won't copyprop out the loop-closed PHI.
A simple solution is to never copy-propagate virtual operands if doing so
does not propagate into all uses.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug tree-optimization/57411] [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize
2013-05-25 8:28 [Bug tree-optimization/57411] New: [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize zsojka at seznam dot cz
2013-05-27 8:30 ` [Bug tree-optimization/57411] " rguenth at gcc dot gnu.org
2013-05-27 12:02 ` rguenth at gcc dot gnu.org
@ 2013-05-28 10:55 ` rguenth at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-05-28 10:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57411
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue May 28 10:54:33 2013
New Revision: 199374
URL: http://gcc.gnu.org/viewcvs?rev=199374&root=gcc&view=rev
Log:
2013-05-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/57411
* tree-ssa-copy.c (may_propagate_copy): Cannot propagate
virtual operands.
* tree-ssa-dom.c (eliminate_const_or_copy): Special-case
virtual operand propagation.
* g++.dg/opt/pr57411.C: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/opt/pr57411.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-copy.c
trunk/gcc/tree-ssa-dom.c
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-05-28 10:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-25 8:28 [Bug tree-optimization/57411] New: [4.9 Regression] ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize zsojka at seznam dot cz
2013-05-27 8:30 ` [Bug tree-optimization/57411] " rguenth at gcc dot gnu.org
2013-05-27 12:02 ` rguenth at gcc dot gnu.org
2013-05-28 10:55 ` rguenth at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).