On Thu, Jun 15, 2017 at 3:51 PM, Eric Botcazou <ebotca...@adacore.com> wrote: > Hi, > > the transformation done to TARGET_MEM_REF in maybe_canonicalize_mem_ref_addr > is exactly the same as one of those done in maybe_fold_tmr, the latter is > better written and the former function calls the latter, so this patch changes > maybe_canonicalize_mem_ref_addr to avoid touching TARGET_MEM_REF directly. > > Tested on x86-64/Linux, OK for the mainline?
I don't think so. get_address_description assumes TMR_BASE is in canonical form, that is, when it is an ADDR_EXPR we have a symbol and when not we have a pointer. TMR[&p->a] violates this and the gimple-fold.c part first canonicalizes this to TMR[p + offsetof(a)]. Richard. > > 2017-06-15 Eric Botcazou <ebotca...@adacore.com> > > PR bootstrap/80897 > * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Do not change > TARGET_MEM_REF expressions directly. > > -- > Eric Botcazou