diff options
author | Martin Sebor <msebor@redhat.com> | 2019-07-12 17:36:45 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2019-07-12 11:36:45 -0600 |
commit | 5dd47cb75dac4583dc38e9c1df2fde89fd459a08 (patch) | |
tree | 0d8febea6e49248e6ea92f630e251dcc93b88c9a /gcc/tree-vrp.c | |
parent | d132c59b10ac8ee35d2e48c0b598160d5bdabf46 (diff) | |
download | gcc-5dd47cb75dac4583dc38e9c1df2fde89fd459a08.zip gcc-5dd47cb75dac4583dc38e9c1df2fde89fd459a08.tar.gz gcc-5dd47cb75dac4583dc38e9c1df2fde89fd459a08.tar.bz2 |
invoke.texi (ssa-name-def-chain-limit): Document new --param.
gcc/ChangeLog:
* doc/invoke.texi (ssa-name-def-chain-limit): Document new --param.
* params.def (PARAM_SSA_NAME_DEF_CHAIN_LIMIT): Add new --param.
* tree-vrp.c (vrp_prop::check_mem_ref): Use
PARAM_SSA_NAME_DEF_CHAIN_LIMIT.
gcc/testsuite/ChangeLog:
* gcc.dg/Warray-bounds-43.c: New test.
From-SVN: r273454
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 594ee9a..b79dfb2 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -4492,7 +4492,8 @@ vrp_prop::check_mem_ref (location_t location, tree ref, The loop computes the range of the final offset for expressions such as (A + i0 + ... + iN)[CSTOFF] where i0 through iN are SSA_NAMEs in some range. */ - while (TREE_CODE (arg) == SSA_NAME) + const unsigned limit = PARAM_VALUE (PARAM_SSA_NAME_DEF_CHAIN_LIMIT); + for (unsigned n = 0; TREE_CODE (arg) == SSA_NAME && n < limit; ++n) { gimple *def = SSA_NAME_DEF_STMT (arg); if (!is_gimple_assign (def)) |