From 6f0ddab12afc5d7427c48bc7d9c26e3629875bd5 Mon Sep 17 00:00:00 2001 From: wschmidt Date: Wed, 13 Jun 2012 12:33:55 +0000 Subject: [PATCH] 2012-06-13 Bill Schmidt PR tree-optimization/53647 * tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for targets with no defined cache line size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188509 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/tree-ssa-phiopt.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2959dd..66d8a9f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2012-06-13 Bill Schmidt + PR tree-optimization/53647 + * tree-ssa-phiopt.c (gate_hoist_loads): Skip transformation for + targets with no defined cache line size. + +2012-06-13 Bill Schmidt + * targhooks.c (default_builtin_vectorized_conversion): Handle vec_construct, using vectype to base cost on subparts. * target.h (enum vect_cost_for_stmt): Add vec_construct. diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index 6e47f6f..c64e8e2 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -1976,12 +1976,14 @@ hoist_adjacent_loads (basic_block bb0, basic_block bb1, /* Determine whether we should attempt to hoist adjacent loads out of diamond patterns in pass_phiopt. Always hoist loads if -fhoist-adjacent-loads is specified and the target machine has - a conditional move instruction. */ + both a conditional move instruction and a defined cache line size. */ static bool gate_hoist_loads (void) { - return (flag_hoist_adjacent_loads == 1 && HAVE_conditional_move); + return (flag_hoist_adjacent_loads == 1 + && PARAM_VALUE (PARAM_L1_CACHE_LINE_SIZE) + && HAVE_conditional_move); } /* Always do these optimizations if we have SSA -- 2.7.4