aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-01-30 13:39:12 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-01-30 13:39:12 +0000
commitf8698b375afc829d817ba3fc3ab38929479a7222 (patch)
treead46264783fe7ef571a3621cb78500bdd66ab788 /gcc
parentfdad69c13646f9797333ccdefd0bf14106595631 (diff)
downloadgcc-f8698b375afc829d817ba3fc3ab38929479a7222.zip
gcc-f8698b375afc829d817ba3fc3ab38929479a7222.tar.gz
gcc-f8698b375afc829d817ba3fc3ab38929479a7222.tar.bz2
re PR middle-end/52045 (ICE: in execute_todo, at passes.c:1748 with -O3 -ftracer -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce and stpcpy_chk())
2012-01-30 Richard Guenther <rguenther@suse.de> PR tree-optimization/52045 * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg before computing final todo. From-SVN: r183721
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ipa-inline-transform.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1d0b459..9414b24 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2012-01-30 Richard Guenther <rguenther@suse.de>
+ PR tree-optimization/52045
+ * ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
+ before computing final todo.
+
+2012-01-30 Richard Guenther <rguenther@suse.de>
+
PR tree-optimization/51528
* tree-sra.c (sra_modify_assign): Re-factor in preparation
for PR51528 fix.
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index 8196a13..75b8e9d 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -369,11 +369,13 @@ inline_transform (struct cgraph_node *node)
todo = optimize_inline_calls (current_function_decl);
timevar_pop (TV_INTEGRATION);
+ cfun->always_inline_functions_inlined = true;
+ cfun->after_inlining = true;
+ todo |= execute_fixup_cfg ();
+
if (!(todo & TODO_update_ssa_any))
/* Redirecting edges might lead to a need for vops to be recomputed. */
todo |= TODO_update_ssa_only_virtuals;
- cfun->always_inline_functions_inlined = true;
- cfun->after_inlining = true;
- return todo | execute_fixup_cfg ();
+ return todo;
}