diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-12-14 00:35:10 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-12-14 00:35:10 +0100 |
commit | 0864675cc5f34e68e20fb5d7a9d38e92d7561dbc (patch) | |
tree | 33d6d30edbcf9d2475524525743aa2194c6457c2 | |
parent | b532a7859f749a302748214a75d565a8f7b90358 (diff) | |
download | gcc-0864675cc5f34e68e20fb5d7a9d38e92d7561dbc.zip gcc-0864675cc5f34e68e20fb5d7a9d38e92d7561dbc.tar.gz gcc-0864675cc5f34e68e20fb5d7a9d38e92d7561dbc.tar.bz2 |
re PR tree-optimization/88444 (ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:468; or ICE: tree check: expected ssa_name, have integer_cst in get_value_range, at vr-values.c:84)
PR tree-optimization/88444
* tree-inline.c (fold_marked_statements): Iterate up to
last_basic_block_for_fn rather than n_basic_blocks_for_fn.
* gcc.dg/tree-ssa/pr88444.c: New test.
From-SVN: r267113
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr88444.c | 6 | ||||
-rw-r--r-- | gcc/tree-inline.c | 2 |
4 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f1eeb7..7b4c219 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2018-12-13 Jakub Jelinek <jakub@redhat.com> + PR tree-optimization/88444 + * tree-inline.c (fold_marked_statements): Iterate up to + last_basic_block_for_fn rather than n_basic_blocks_for_fn. + PR rtl-optimization/88470 * cfgcleanup.c (outgoing_edges_match): If the function is shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b0dae2b..3ce50c8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2018-12-13 Jakub Jelinek <jakub@redhat.com> + PR tree-optimization/88444 + * gcc.dg/tree-ssa/pr88444.c: New test. + PR rtl-optimization/88470 * gcc.target/i386/pr88470.c: New test. diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr88444.c b/gcc/testsuite/gcc.dg/tree-ssa/pr88444.c new file mode 100644 index 0000000..31ed316 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr88444.c @@ -0,0 +1,6 @@ +/* PR tree-optimization/88444 */ +/* { dg-do compile } */ +/* { dg-options "-O1 -finline-functions -finline-small-functions -fdump-tree-fixup_cfg3" } */ +/* { dg-final { scan-tree-dump-not " = \\(long int\\) 0;" "fixup_cfg3" } } */ + +#include "../pr88444.c" diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 52f0310..8c4c82e 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -4906,7 +4906,7 @@ gimple_expand_calls_inline (basic_block bb, copy_body_data *id) static void fold_marked_statements (int first, hash_set<gimple *> *statements) { - for (; first < n_basic_blocks_for_fn (cfun); first++) + for (; first < last_basic_block_for_fn (cfun); first++) if (BASIC_BLOCK_FOR_FN (cfun, first)) { gimple_stmt_iterator gsi; |