re PR middle-end/70424 (Pointer derived from integer gets reduced alignment)
2016-03-29 Richard Biener <rguenther@suse.de> PR middle-end/70424 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always use alignment returned by get_pointer_alignment_1 if it is bigger than BITS_PER_UNIT. * builtins.c (get_pointer_alignment_1): Do not return true for alignment extracted from SSA info. From-SVN: r234517
This commit is contained in:
parent
dc2e899536
commit
5f9a167b52
@ -1,3 +1,12 @@
|
||||
2016-03-29 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/70424
|
||||
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
|
||||
use alignment returned by get_pointer_alignment_1 if it is
|
||||
bigger than BITS_PER_UNIT.
|
||||
* builtins.c (get_pointer_alignment_1): Do not return true
|
||||
for alignment extracted from SSA info.
|
||||
|
||||
2016-03-28 James Bowman <james.bowman@ftdichip.com>
|
||||
|
||||
* config/ft32/ft32.opt (mnodiv): New.
|
||||
|
@ -463,7 +463,7 @@ get_pointer_alignment_1 (tree exp, unsigned int *alignp,
|
||||
if (*alignp == 0)
|
||||
*alignp = 1u << (HOST_BITS_PER_INT - 1);
|
||||
/* We cannot really tell whether this result is an approximation. */
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1639,11 +1639,11 @@ ipa_compute_jump_functions_for_edge (struct ipa_func_body_info *fbi,
|
||||
unsigned HOST_WIDE_INT hwi_bitpos;
|
||||
unsigned align;
|
||||
|
||||
if (get_pointer_alignment_1 (arg, &align, &hwi_bitpos)
|
||||
get_pointer_alignment_1 (arg, &align, &hwi_bitpos);
|
||||
if (align > BITS_PER_UNIT
|
||||
&& align % BITS_PER_UNIT == 0
|
||||
&& hwi_bitpos % BITS_PER_UNIT == 0)
|
||||
{
|
||||
gcc_checking_assert (align != 0);
|
||||
jfunc->alignment.known = true;
|
||||
jfunc->alignment.align = align / BITS_PER_UNIT;
|
||||
jfunc->alignment.misalign = hwi_bitpos / BITS_PER_UNIT;
|
||||
|
Loading…
Reference in New Issue
Block a user