aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-threadbackward.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2016-03-22 15:32:34 -0600
committerJeff Law <law@gcc.gnu.org>2016-03-22 15:32:34 -0600
commit75bb14d7cc3cec5f0085ed64cf660e1a72574912 (patch)
treeeb3865559a521e6eaba78f21f692deb765bb08e6 /gcc/tree-ssa-threadbackward.c
parent104cdaf14f5ba38bda091ecc1a6f028c8d21586b (diff)
downloadgcc-75bb14d7cc3cec5f0085ed64cf660e1a72574912.zip
gcc-75bb14d7cc3cec5f0085ed64cf660e1a72574912.tar.gz
gcc-75bb14d7cc3cec5f0085ed64cf660e1a72574912.tar.bz2
re PR target/70232 (excessive stack usage with -O2)
PR target/70232 tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): Correctly distinguish between old style jump threads vs FSM jump threads. PR target/70232 * gcc.dg/tree-ssa/pr70232.c: New test. From-SVN: r234409
Diffstat (limited to 'gcc/tree-ssa-threadbackward.c')
-rw-r--r--gcc/tree-ssa-threadbackward.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-threadbackward.c b/gcc/tree-ssa-threadbackward.c
index 88f8d5e..44b1b47 100644
--- a/gcc/tree-ssa-threadbackward.c
+++ b/gcc/tree-ssa-threadbackward.c
@@ -451,7 +451,7 @@ fsm_find_control_statement_thread_paths (tree name,
So for that case, drastically reduce the number of statements
we are allowed to copy. */
- if (!threaded_through_latch
+ if (!(threaded_through_latch && threaded_multiway_branch)
&& (n_insns * PARAM_VALUE (PARAM_FSM_SCALE_PATH_STMTS)
>= PARAM_VALUE (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS)))
{