From: Martin Jambor Date: Wed, 20 Feb 2013 12:56:30 +0000 (+0100) Subject: re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization)) X-Git-Tag: releases/gcc-4.8.0~370 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ec9c9d1b988928151b3f14ee06a95e0ef550dcc7;p=thirdparty%2Fgcc.git re PR tree-optimization/55334 (mgrid regression (ipa-cp disables vectorization)) 2013-02-20 Martin Jambor PR tree-optimization/55334 * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to restricted pointers to arrays. From-SVN: r196171 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5e18a6c5ad6a..12380bd98957 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-02-20 Martin Jambor + + PR tree-optimization/55334 + * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to + restricted pointers to arrays. + 2013-02-20 Richard Biener Jakub Jelinek diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 6feb6b65574a..c79f277d61b3 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -730,6 +730,22 @@ initialize_node_lattices (struct cgraph_node *node) cgraph_node_name (node), node->uid, disable ? "BOTTOM" : "VARIABLE"); } + if (!disable) + for (i = 0; i < ipa_get_param_count (info) ; i++) + { + struct ipcp_param_lattices *plats = ipa_get_parm_lattices (info, i); + tree t = TREE_TYPE (ipa_get_param(info, i)); + + if (POINTER_TYPE_P (t) && TYPE_RESTRICT (t) + && TREE_CODE (TREE_TYPE (t)) == ARRAY_TYPE) + { + set_lattice_to_bottom (&plats->itself); + if (dump_file && (dump_flags & TDF_DETAILS) + && !node->alias && !node->thunk.thunk_p) + fprintf (dump_file, "Going to ignore param %i of of %s/%i.\n", + i, cgraph_node_name (node), node->uid); + } + } for (ie = node->indirect_calls; ie; ie = ie->next_callee) if (ie->indirect_info->polymorphic)