diff options
author | Kewen Lin <linkw@linux.ibm.com> | 2023-08-09 00:41:52 -0500 |
---|---|---|
committer | Kewen Lin <linkw@linux.ibm.com> | 2023-08-09 01:16:05 -0500 |
commit | 4a8e6fa8016f8daf184dec49f371ca71b1cb0f01 (patch) | |
tree | 92c9a00b4dd97c471e5c7479ac65ec9701d3e912 /gcc/expr.cc | |
parent | 165b1f6ad1d3969e2c23417797362d0528e65c79 (diff) | |
download | gcc-4a8e6fa8016f8daf184dec49f371ca71b1cb0f01.zip gcc-4a8e6fa8016f8daf184dec49f371ca71b1cb0f01.tar.gz gcc-4a8e6fa8016f8daf184dec49f371ca71b1cb0f01.tar.bz2 |
ivopts: Call valid_mem_ref_p with ifn [PR110248]
As PR110248 shows, to get the expected query results for
that internal functions LEN_{LOAD,STORE} is able to adopt
some addressing modes, we need to pass down the related
IFN code as well. This patch is to make IVOPTs pass down
ifn code for USE_PTR_ADDRESS type uses, it adjusts the
related functions {strict_,}memory_address_addr_space_p,
and valid_mem_ref_p as well.
PR tree-optimization/110248
gcc/ChangeLog:
* recog.cc (memory_address_addr_space_p): Add one more argument ch of
type code_helper and pass it to targetm.addr_space.legitimate_address_p
instead of ERROR_MARK.
(offsettable_address_addr_space_p): Update one function pointer with
one more argument of type code_helper as its assignees
memory_address_addr_space_p and strict_memory_address_addr_space_p
have been adjusted, and adjust some call sites with ERROR_MARK.
* recog.h (tree.h): New include header file for tree_code ERROR_MARK.
(memory_address_addr_space_p): Adjust with one more unnamed argument
of type code_helper with default ERROR_MARK.
(strict_memory_address_addr_space_p): Likewise.
* reload.cc (strict_memory_address_addr_space_p): Add one unnamed
argument of type code_helper.
* tree-ssa-address.cc (valid_mem_ref_p): Add one more argument ch of
type code_helper and pass it to memory_address_addr_space_p.
* tree-ssa-address.h (valid_mem_ref_p): Adjust the declaration with
one more unnamed argument of type code_helper with default value
ERROR_MARK.
* tree-ssa-loop-ivopts.cc (get_address_cost): Use ERROR_MARK as code
by default, change it with ifn code for USE_PTR_ADDRESS type use, and
pass it to all valid_mem_ref_p calls.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions