[Bug middle-end/45709] [4.3/4.4/4.5/4.6 regression] internal compiler error: in add_phi_arg, at tree-phinodes.c:395
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Sep 17 20:36:00 GMT 2010
------- Comment #2 from pinskia at gcc dot gnu dot org 2010-09-17 20:35 -------
Not what is happening is an interaction between the inlining and the return
slot optimization and the named value optimization.
Before inlining we have:
# storage_1 = PHI <&<retval>.storage[0](2), &<retval>.storage[1](3)>
...
copyBack.1_1 = (struct Region *) ©Back;
*copyBack.1_1 ={v} subtract (a_2(D)) [return slot optimization];
--- Cut ----
Since &(*copyBack.1_1).storage[0] is not a constant we get an ICE. Why we
don't remove the extra cast to begin is questionable. If we change:
const Region copyBack(subtract(a));
to
const Region copyBack = (subtract(a));
We can remove the cast and it works.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45709
More information about the Gcc-bugs
mailing list