From 4e03d8493b5ef63ea04c0690483260a172578887 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Mon, 2 Jul 2012 17:28:11 +0200 Subject: [PATCH] re PR middle-end/38474 (compile time explosion in dataflow_set_preserve_mem_locs at -O3) 2012-07-02 Martin Jambor PR middle-end/38474 * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a dynamic type change check. From-SVN: r189163 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-prop.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c02b77b4cbe..c9a7abb950b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-07-02 Martin Jambor + + PR middle-end/38474 + * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a + dynamic type change check. + 2012-07-02 Richard Guenther Michael Matz Tobias Grosser diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index ae35191e0f6..6a74cdaa88e 100644 --- a/gcc/ipa-prop.c +++ b/gcc/ipa-prop.c @@ -912,8 +912,8 @@ compute_known_type_jump_func (tree op, struct ipa_jump_func *jfunc, || is_global_var (base)) return; - if (detect_type_change (op, base, call, jfunc, offset) - || !TYPE_BINFO (TREE_TYPE (base))) + if (!TYPE_BINFO (TREE_TYPE (base)) + || detect_type_change (op, base, call, jfunc, offset)) return; ipa_set_jf_known_type (jfunc, offset, TREE_TYPE (base), TREE_TYPE (op));