On Mon, Jun 03, 2019 at 10:36:42AM +0200, Richard Biener wrote:
> > To avoid this confusion the attached patch adds to the dump
> > a cast to the MEM_REF type for accesses whose size is not equal
> > to the size of the operand (when the sizes are the same no new
> > cast is prepended).  The effect is that with store merging in
> > effect, the dump for the above becomes
> >
> >    MEM[(short int *)(char *)&a] = 1;
> 
> I think this is confusing syntax.  Iff you absolutely refuse to
> make the -gimple dump the default for MEM_REF and you insist
> on fixing this issue then please follow how we dump VIEW_CONVERT_EXPR
> which is the only other tree code we dump the access type, thus

I must say I prefer the current MEM[ over the -gimple for human readable
dumps.

>  MEM<short int *>[(char *)&a] = 1;

Wouldn't that be
  MEM<short int>[(char *)&a] instead?
Couldn't we do it only if the TREE_TYPE (TREE_TYPE (TREE_OPERAND (mem, 1)))
is not compatible with TREE_TYPE (mem), so keep what we were doing in most
cases?

        Jakub

Reply via email to