wide_int_constant_multiple_p used:
if (*mult_set && mult != 0)
return false;
to check whether we had previously seen a nonzero multiple, but "mult" is
a pointer to the previous value rather than the previous value itself.
Noticed by inspection while working on another patch, so I don't have a
testcase. I tried adding an assert for combinations that were wrongly
rejected before but it didn't trigger during a bootstrap and regtest.
Tested on x86_64-linux-gnu.
gcc/
* tree-affine.c (wide_int_constant_multiple_p): Add missing
pointer dereference.
From-SVN: r236040
+2016-05-09 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree-affine.c (wide_int_constant_multiple_p): Add missing
+ pointer dereference.
+
2016-05-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/70985
if (val == 0)
{
- if (*mult_set && mult != 0)
+ if (*mult_set && *mult != 0)
return false;
*mult_set = true;
*mult = 0;