re PR rtl-optimization/68636 (unnecessary unaligned load on mips o32)

2015-12-04  Richard Biener  <rguenther@suse.de>

	PR middle-end/68636
	* builtins.c (get_pointer_alignment_1): Take care of byte to
	bit alignment computation overflow.

From-SVN: r231246
This commit is contained in:
Richard Biener 2015-12-04 08:17:50 +00:00 committed by Richard Biener
parent 7fe996ba15
commit 5505978ab3
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2015-12-04 Richard Biener <rguenther@suse.de>
PR middle-end/68636
* builtins.c (get_pointer_alignment_1): Take care of byte to
bit alignment computation overflow.
2015-12-04 Richard Biener <rguenther@suse.de>
PR middle-end/67438

View File

@ -458,6 +458,10 @@ get_pointer_alignment_1 (tree exp, unsigned int *alignp,
{
*bitposp = ptr_misalign * BITS_PER_UNIT;
*alignp = ptr_align * BITS_PER_UNIT;
/* Make sure to return a sensible alignment when the multiplication
by BITS_PER_UNIT overflowed. */
if (*alignp == 0)
*alignp = 1u << (HOST_BITS_PER_INT - 1);
/* We cannot really tell whether this result is an approximation. */
return true;
}