This avoids a strip_offset use in record_group_use where we know
it operates on addresses.
* tree-ssa-loop-ivopts.cc (record_group_use): Use
split_constant_offset.
return res;
}
-static tree
-strip_offset (tree expr, poly_uint64_pod *offset);
-
/* Allocates an induction variable with given initial value BASE and step STEP
for loop LOOP. NO_OVERFLOW implies the iv doesn't overflow. */
{
unsigned int i;
- addr_base = strip_offset (iv->base, &addr_offset);
+ gcc_assert (POINTER_TYPE_P (TREE_TYPE (iv->base)));
+ tree addr_toffset;
+ split_constant_offset (iv->base, &addr_base, &addr_toffset);
+ addr_offset = int_cst_value (addr_toffset);
for (i = 0; i < data->vgroups.length (); i++)
{
struct iv_use *use;