diff options
author | Qing Zhao <qing.zhao@oracle.com> | 2022-11-09 15:48:04 +0000 |
---|---|---|
committer | Qing Zhao <qing.zhao@oracle.com> | 2022-11-09 15:48:04 +0000 |
commit | ace0ae09332bbc6b95e084c2c2b17c466339ff76 (patch) | |
tree | 54cd5d03b2e32bf70487ddea4dbdccbce7dc28c9 /gcc/gimple-array-bounds.cc | |
parent | 0b3d926d796050468b8a844e5fb8c20bda741c26 (diff) | |
download | gcc-ace0ae09332bbc6b95e084c2c2b17c466339ff76.zip gcc-ace0ae09332bbc6b95e084c2c2b17c466339ff76.tar.gz gcc-ace0ae09332bbc6b95e084c2c2b17c466339ff76.tar.bz2 |
Change the name of array_at_struct_end_p to array_ref_flexible_size_p
The name of the utility routine "array_at_struct_end_p" is misleading
and should be changed to a new name that more accurately reflects its
real meaning.
The routine "array_at_struct_end_p" is used to check whether an array
reference is to an array whose actual size might be larger than its
upper bound implies, which includes 3 different cases:
A. a ref to a flexible array member at the end of a structure;
B. a ref to an array with a different type against the original decl;
C. a ref to an array that was passed as a parameter;
The old name only reflects the above case A, therefore very confusing
when reading the corresponding gcc source code.
In this patch, A new name "array_ref_flexible_size_p" is used to replace
the old name.
All the references to the routine "array_at_struct_end_p" was replaced
with this new name, and the corresponding comments were updated to make
them clean and consistent.
gcc/ChangeLog:
* gimple-array-bounds.cc (trailing_array): Replace
array_at_struct_end_p with new name and update comments.
* gimple-fold.cc (get_range_strlen_tree): Likewise.
* gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
Likewise.
* graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
* tree-if-conv.cc (idx_within_array_bound): Likewise.
* tree-object-size.cc (addr_object_size): Likewise.
* tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
Likewise.
(stmt_kills_ref_p): Likewise.
* tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
* tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
* tree.cc (array_at_struct_end_p): Rename to ...
(array_ref_flexible_size_p): ... this.
(component_ref_size): Replace array_at_struct_end_p with new name.
* tree.h (array_at_struct_end_p): Rename to ...
(array_ref_flexible_size_p): ... this.
Diffstat (limited to 'gcc/gimple-array-bounds.cc')
-rw-r--r-- | gcc/gimple-array-bounds.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/gimple-array-bounds.cc b/gcc/gimple-array-bounds.cc index e190b93..fbf448e 100644 --- a/gcc/gimple-array-bounds.cc +++ b/gcc/gimple-array-bounds.cc @@ -129,7 +129,7 @@ get_ref_size (tree arg, tree *pref) } /* Return true if REF is (likely) an ARRAY_REF to a trailing array member - of a struct. It refines array_at_struct_end_p by detecting a pointer + of a struct. It refines array_ref_flexible_size_p by detecting a pointer to an array and an array parameter declared using the [N] syntax (as opposed to a pointer) and returning false. Set *PREF to the decl or expression REF refers to. */ @@ -167,7 +167,7 @@ trailing_array (tree arg, tree *pref) return false; } - return array_at_struct_end_p (arg); + return array_ref_flexible_size_p (arg); } /* Checks one ARRAY_REF in REF, located at LOCUS. Ignores flexible |