aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-01-17 09:05:12 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-01-17 09:05:12 +0100
commitcac1bd08d95de15815986b0b6ef7e82458d6bb25 (patch)
treea45708459146e261d803f0b63bba8af4f4fec1eb /gcc
parent9556b012b73024a95e72d8aa1b434ad50b8df9d3 (diff)
downloadgcc-cac1bd08d95de15815986b0b6ef7e82458d6bb25.zip
gcc-cac1bd08d95de15815986b0b6ef7e82458d6bb25.tar.gz
gcc-cac1bd08d95de15815986b0b6ef7e82458d6bb25.tar.bz2
re PR tree-optimization/86214 (Strongly increased stack usage)
PR tree-optimization/86214 * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts if x == y. From-SVN: r268009
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cfgexpand.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 986a73d..170464a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2019-01-17 Jakub Jelinek <jakub@redhat.com>
+ PR tree-optimization/86214
+ * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts
+ if x == y.
+
PR rtl-optimization/88870
* dce.c (deletable_insn_p): Never delete const/pure calls that can
throw if we can't alter the cfg or delete dead exceptions.
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 2337c63..518d71c 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -470,6 +470,8 @@ add_stack_var_conflict (size_t x, size_t y)
{
struct stack_var *a = &stack_vars[x];
struct stack_var *b = &stack_vars[y];
+ if (x == y)
+ return;
if (!a->conflicts)
a->conflicts = BITMAP_ALLOC (&stack_var_bitmap_obstack);
if (!b->conflicts)