This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question on VUSE


    The alias analyzer picked a representative in the set of all variables
    that alias, I imagine.  I believe the dumps for .alias should tell you
    which variables are in that set.

Indeed.

This is related to my current bootstrap failure.   In the small test case,
we have:

Pointer tbg0803__unit_table.1_2 points to an arbitrary address: tbg0803__unit_table
tbg0803__sub1: Total number of aliased vops: 3

Variable: tbg0803__utn, UID 3, is an alias tag, is static, call clobbered, default def: tbg0803__utn_3

Variable: sn, UID 5, type memory tag: TMT.11

Variable: TMT.11, UID 11, is global, call clobbered, may aliases: { tbg0803__utn }

... and the *sn deference looks like:

  #   tbg0803__utn_12 = V_MAY_DEF <tbg0803__utn_3>;
  *sn_7 = T.5_9;

DCE doesn't delete it.

When compiling lib.adb, we have the assignment as:

  #   TMT.1184_15 = V_MAY_DEF <TMT.1184_14>;
  *tsn_7 = T.722_11;

This *does* get deleted by DCE.

And all it says about TMT.1184 is

tsn, UID 5, type memory tag: TMT.1184
TMT.1184, UID 13


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]