On Tue, Jan 08, 2019 at 09:34:31PM +0100, Jakub Jelinek wrote: > My recent changes to UNSPEC handling in dwarf2out.c apparently broke > (non-release checking) regtest on powerpc*, a lot of > note: non-delegitimized UNSPEC UNSPEC_FUSION_GPR (73) found in variable > location > messages are emitted while compiling pretty much anything with -mcpu=power8 > or later. > > The problem is that debug insns say some variable lives in the result of > UNSPEC_FUSION_GPR and var-tracking manages to optimize the operand of that > UNSPEC from a complex MEM into a LABEL_REF. For UNSPECs that don't have any > constant arguments dwarf2out is silent as before, but for those that have > CONSTANT_P operands it hints that it would be nice to delegitimize those. > > Apparently UNSPEC_FUSION_GPR wraps a MEM that isn't valid in a normal insn, > as it includes both the high and lo_sum parts, but otherwise it is something > that is completely ok for debug info purposes. > So, this patch delegitimizes this UNSPEC to its argument. > > Bootstrapped/regtested on powerpc64le-linux, ok for trunk?
Okay for trunk. Thanks! Segher > 2019-01-08 Jakub Jelinek <ja...@redhat.com> > > * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize > UNSPEC_FUSION_GPR to its argument. Formatting fixes.