diff options
author | Richard Biener <rguenther@suse.de> | 2021-11-24 09:08:44 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-11-24 12:40:36 +0100 |
commit | 6180f5c8d6d1dc7b6634c41a46f0f8f5ca2e5b9d (patch) | |
tree | 81b714a9f498a39897ac2e4119f1d4b281116fc2 /gcc/loop-init.c | |
parent | fdd34569e7a9fc2b6c638a7ef62b965ed7e832ce (diff) | |
download | gcc-6180f5c8d6d1dc7b6634c41a46f0f8f5ca2e5b9d.zip gcc-6180f5c8d6d1dc7b6634c41a46f0f8f5ca2e5b9d.tar.gz gcc-6180f5c8d6d1dc7b6634c41a46f0f8f5ca2e5b9d.tar.bz2 |
tree-optimization/103168 - Improve VN of pure function calls
This improves value-numbering of calls that read memory, calls
to const functions with aggregate arguments and calls to
pure functions where the latter include const functions we
demoted to pure for the fear of interposing with a less
optimized version. Note that for pure functions we do not
handle functions that access global memory.
2021-11-24 Richard Biener <rguenther@suse.de>
Jan Hubicka <jh@suse.cz>
PR tree-optimization/103168
* ipa-modref.h (struct modref_summary): Add load_accesses.
* ipa-modref.c (modref_summary::finalize): Initialize load_accesses.
* tree-ssa-sccvn.c (visit_reference_op_call): Use modref
info to walk the virtual use->def chain to CSE const/pure
function calls possibly reading from memory.
* g++.dg/tree-ssa/pr103168.C: New testcase.
Diffstat (limited to 'gcc/loop-init.c')
0 files changed, 0 insertions, 0 deletions