diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0dc55b7a366b640da42558b862b0bf1837550b52..bf8f895ded625123c4a8c8ec1f2485b35abb2668 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -28,6 +28,9 @@ * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some edge cases with local functions and TARGET_ID_SHARED_LIBRARY. + * tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially + inflate costs for addresses with an out-of-bounds address. + 2006-11-19 Andrew Pinski <pinskia@gmail.com> PR rtl-opt/29879 diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 29885f2fac7e0165103f64657c4985582787a245..6642b5d828cf1d282b5d3b5bb1e9e2cfd19eddb8 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -3561,10 +3561,7 @@ get_address_cost (bool symbol_present, bool var_present, cost += multiply_by_cost (ratio, Pmode); if (s_offset && !offset_p && !symbol_present) - { - cost += add_cost (Pmode); - var_present = true; - } + cost += add_cost (Pmode); acost = costs[mem_mode][symbol_present][var_present][offset_p][ratio_p]; return cost + acost;