> > > Are you suggesting we remove the entire code path here:
> > >
> > > ?/* Try harder to get a rtl. ?If this symbol ends up not being emitted
> > > ? ? in the current CU, resolve_addr will remove the expression referencing
> > > ? ? it. ?*/
> > >
> > > ??
> > 
> > Yes.
> 
> That will very much pessimize debug info.  While we are now always in
> -funit-at-a-time mode, that doesn't mean DECL_RTL is computed early enough.
> From the file scope non-static vars, at the point debug info is generated only
> the first var usually has DECL_RTL set, all others don't.
> For the cfgexpand.c occurence of this idiom, please see e.g. PR41353 - 
> even simple testcases like:

So... Richi, et al.  Instead, should I remove alias set numbers
on the -fcompare-debug case, or inhibit new alias sets like thus:

        unsigned int save_aliasing = flag_strict_aliasing;
        flag_strict_aliasing = 0;
        do the DECL_RTL thing
        flag_strict_aliasing = save_aliasing;

Well, I'll let you two figure it out... :)

Thanks for taking a look at this.
Aldy

Reply via email to