--- Comment #7 from rguenth at gcc dot gnu dot org 2008-03-16 15:55 ---
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNED
--- Comment #6 from rguenth at gcc dot gnu dot org 2008-03-16 15:45 ---
Subject: Bug 35607
Author: rguenth
Date: Sun Mar 16 15:45:09 2008
New Revision: 133273
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133273
Log:
2008-03-16 Richard Guenther <[EMAIL PROTECTED]>
PR
--- Comment #5 from rguenth at gcc dot gnu dot org 2008-03-16 12:32 ---
One solution is to, in expand_simple_operations, expand all TREE_INVARIANT
operations so we end up with
# ivtmp.16_1 = PHI
instead which we can let pass verification without fatal effects.
The other solution is
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-03-16 12:23 ---
The concrete problem with allowing &foo[(int)z_4] in a PHI node argument is
that we cannot cope with immediate uses in PHI nodes and thus DCE z_4 and
end up with a reference to a deleted SSA_NAME during expansion (ye
--- Comment #3 from rguenth at gcc dot gnu dot org 2008-03-16 12:20 ---
This invariantness of (unsigned int) D.1189_5 in
__fini_array_end.0_2 = (int) &__fini_array_end;
__fini_array_start.1_3 = (int) &__fini_array_start;
D.1188_4 = __fini_array_end.0_2 - __fini_array_start.1_3;
--- Comment #2 from rguenth at gcc dot gnu dot org 2008-03-16 11:47 ---
Hm, no. This address isn't invariant at all.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35607
--- Comment #1 from rguenth at gcc dot gnu dot org 2008-03-16 11:45 ---
force_gimple_operand doesn't gimplify
&__fini_array_start[(unsigned int) D.1189_5]
because is_gimple_min_invariant returns true for it.
And the verification failure is just an artifact of that. I have a patch.