rtl-optimization/80960 - avoid creating garbage RTL in DSE
authorRichard Biener <rguenther@suse.de>
Wed, 27 Jan 2021 14:35:52 +0000 (15:35 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 28 Jan 2021 08:14:46 +0000 (09:14 +0100)
commita523add327c6cfdd68cf9b788ea808068d0f508c
tree70405368b4b570d343d2a1b5b041beb8a3fd7ad3
parentfbe37371cf372b84d5b7f1a6f5f0971a513dd5fa
rtl-optimization/80960 - avoid creating garbage RTL in DSE

The following avoids repeatedly turning VALUE RTXen into
sth useful and re-applying a constant offset through get_addr
via DSE check_mem_read_rtx.  Instead perform this once for
all stores to be visited in check_mem_read_rtx.  This avoids
allocating 1.6GB of garbage PLUS RTXen on the PR80960
testcase, fixing the memory usage regression from old GCC.

2021-01-27  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/80960
* dse.c (check_mem_read_rtx): Call get_addr on the
offsetted address.
gcc/dse.c