[Bug tree-optimization/23777] Does not remove all references to var
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Sep 8 12:10:00 GMT 2005
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-08 12:09 -------
With Paolo's testcase we get the following tree dump in .ch (after copy loop header):
g (o)
{
static const char * const multilib_exclusions_raw[1] = {0B};
const char * const * q;
static const char * const multilib_exclusions_raw[1] = {0B};
_Bool D.1280;
const char * const D.1279;
<bb 0>:
# multilib_exclusions_raw_11 = V_MAY_DEF <multilib_exclusions_raw_9>;
# TMT.6_12 = V_MAY_DEF <TMT.6_10>;
f (o_3);
# VUSE <multilib_exclusions_raw_11>;
D.1279_18 = multilib_exclusions_raw[0];
q_19 = &multilib_exclusions_raw[1];
if (D.1279_18 != 0B) goto <L0>; else goto <L2>;
# TMT.6_22 = PHI <TMT.6_14(1), TMT.6_12(0)>;
# multilib_exclusions_raw_21 = PHI <multilib_exclusions_raw_13(1), multilib_exclusions_raw_11(0)>;
# q_20 = PHI <q_6(1), q_19(0)>;
<L0>:;
# multilib_exclusions_raw_13 = V_MAY_DEF <multilib_exclusions_raw_21>;
# TMT.6_14 = V_MAY_DEF <TMT.6_22>;
f (o_3);
# VUSE <multilib_exclusions_raw_13>;
# VUSE <TMT.6_14>;
D.1279_4 = *q_20;
q_6 = q_20 + 4B;
if (D.1279_4 != 0B) goto <L0>; else goto <L2>;
<L2>:;
return;
Note how there is a V_MAY_DEF on the first f for multilib_exclusions_raw. That is just wrong since
multilib_exclusions_raw cannot change.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |alias
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23777
More information about the Gcc-bugs
mailing list