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