------- 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

Reply via email to