From: rguenth Date: Wed, 8 Dec 2010 16:15:06 +0000 (+0000) Subject: 2010-12-08 Richard Guenther X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c53fae98625885c280385c8f16b558fcef2908a4;p=thirdparty%2Fgcc.git 2010-12-08 Richard Guenther * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift instead of a division to divide by BITS_PER_UNIT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167592 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1f23738d51c4..92b01db9ac87 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-08 Richard Guenther + + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift + instead of a division to divide by BITS_PER_UNIT. + 2010-12-08 Richard Guenther * gimplify.c (gimple_tree_eq): Assert hashes are equal only diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index ed1dabea1cad..6efb2453d3a5 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -644,10 +644,11 @@ copy_reference_ops_from_ref (tree ref, VEC(vn_reference_op_s, heap) **result) { double_int off = double_int_add (tree_to_double_int (this_offset), - double_int_sdiv + double_int_rshift (tree_to_double_int (bit_offset), - uhwi_to_double_int (BITS_PER_UNIT), - TRUNC_DIV_EXPR)); + BITS_PER_UNIT == 8 + ? 3 : exact_log2 (BITS_PER_UNIT), + HOST_BITS_PER_DOUBLE_INT, true)); if (double_int_fits_in_shwi_p (off)) temp.off = off.low; }