Commit f51606c7 by Richard Biener Committed by Richard Biener

re PR bootstrap/71816 (bootstrap broken on multiple targets)

2016-07-11  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71816
	* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
	than replacing all of its operands.

	* gcc.dg/torture/pr71816.c: New testcase.

From-SVN: r238208
parent a442a050
2016-07-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/71816
* tree-ssa-pre.c (compute_avail): Adjust alignment of ref rather
than replacing all of its operands.
2016-07-11 Alan Modra <amodra@gmail.com> 2016-07-11 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec. * config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
......
2016-07-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/71816
* gcc.dg/torture/pr71816.c: New testcase.
2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org> 2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71783 PR fortran/71783
......
/* { dg-do compile } */
void *ext2fs_resize_mem_p;
struct ext2_icount_el {
int ino;
} * insert_icount_el_icount_1;
int insert_icount_el_icount, insert_icount_el_new_size;
void *memcpy();
void *realloc();
int ext2fs_resize_mem(void *p1) {
int size = 0;
memcpy(&ext2fs_resize_mem_p, p1, sizeof(ext2fs_resize_mem_p));
realloc(&ext2fs_resize_mem_p, size);
return 0;
}
struct ext2_icount_el *insert_icount_el() {
if (insert_icount_el_icount)
insert_icount_el_new_size = insert_icount_el_icount_1[0].ino;
ext2fs_resize_mem(&insert_icount_el_icount_1);
return 0;
}
...@@ -3791,13 +3791,9 @@ compute_avail (void) ...@@ -3791,13 +3791,9 @@ compute_avail (void)
|| ref1->opcode == MEM_REF) || ref1->opcode == MEM_REF)
&& (TYPE_ALIGN (ref1->type) && (TYPE_ALIGN (ref1->type)
> TYPE_ALIGN (ref2->type))) > TYPE_ALIGN (ref2->type)))
{ ref1->type
ref->operands.release (); = build_aligned_type (ref1->type,
ref->operands = operands; TYPE_ALIGN (ref2->type));
ref1 = ref2;
}
else
operands.release ();
/* TBAA behavior is an obvious part so make sure /* TBAA behavior is an obvious part so make sure
that the hashtable one covers this as well that the hashtable one covers this as well
by adjusting the ref alias set and its base. */ by adjusting the ref alias set and its base. */
...@@ -3824,6 +3820,7 @@ compute_avail (void) ...@@ -3824,6 +3820,7 @@ compute_avail (void)
ref1->op2 = fold_convert (ptr_type_node, ref1->op2 = fold_convert (ptr_type_node,
ref1->op2); ref1->op2);
} }
operands.release ();
result = pre_expr_pool.allocate (); result = pre_expr_pool.allocate ();
result->kind = REFERENCE; result->kind = REFERENCE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment