middle-end/95690 - avoid MEM_EXPRs for constants
authorRichard Biener <rguenther@suse.de>
Tue, 16 Jun 2020 07:36:09 +0000 (09:36 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 16 Jun 2020 11:56:55 +0000 (13:56 +0200)
commita97e49a89d11b302b12ec319a3316ba78adca02a
tree5cb498dfd7b548d4b4c37d802d39f325b120cf57
parent2210ef7d3d68a027ec16476825049567953c7fa4
middle-end/95690 - avoid MEM_EXPRs for constants

The following avoids calling set_mem_attributes on the
DECL_INITIAL of a CONST_DECL which seems pointless since there
cannot be a sensible MEM_EXPR derived from that.  We're overwriting
both other possibly useful info, alias-set and alignment immediately
so the following patch simply removes the call instead of making
the function deal with even more (unexpected) trees that are not
memory accesses.

2020-06-16  Richard Biener  <rguenther@suse.de>

PR middle-end/95690
* varasm.c (build_constant_desc): Remove set_mem_attributes call.

* gfortran.dg/pr95690.f90: New testcase.
gcc/testsuite/gfortran.dg/pr95690.f90 [new file with mode: 0644]
gcc/varasm.c