Commit dcd7a7df by Uros Bizjak

re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in…

re PR middle-end/67619 (ICE at -O1 and above on x86_64-linux-gnu in int_mode_for_mode, at stor-layout.c:425)

	PR middle-end/67619
	* except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
	the address to a register.

testsuite/ChangeLog:

	PR middle-end/67619
	* gcc.dg/torture/pr67619.c: New test.

From-SVN: r227909
parent a502f7b6
2015-09-16 Jeff Law <law@redhat.com>
2015-09-18 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/67619
* except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
the address to a register.
2015-09-18 Jeff Law <law@redhat.com>
PR tree-optimization/47679
* Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
......@@ -2219,7 +2219,7 @@ expand_builtin_eh_return (tree stackadj_tree ATTRIBUTE_UNUSED,
VOIDmode, EXPAND_NORMAL);
tmp = convert_memory_address (Pmode, tmp);
if (!crtl->eh.ehr_stackadj)
crtl->eh.ehr_stackadj = copy_to_reg (tmp);
crtl->eh.ehr_stackadj = copy_addr_to_reg (tmp);
else if (tmp != crtl->eh.ehr_stackadj)
emit_move_insn (crtl->eh.ehr_stackadj, tmp);
#endif
......@@ -2228,7 +2228,7 @@ expand_builtin_eh_return (tree stackadj_tree ATTRIBUTE_UNUSED,
VOIDmode, EXPAND_NORMAL);
tmp = convert_memory_address (Pmode, tmp);
if (!crtl->eh.ehr_handler)
crtl->eh.ehr_handler = copy_to_reg (tmp);
crtl->eh.ehr_handler = copy_addr_to_reg (tmp);
else if (tmp != crtl->eh.ehr_handler)
emit_move_insn (crtl->eh.ehr_handler, tmp);
......
2015-09-18 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/67619
* gcc.dg/torture/pr67619.c: New test.
2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
PR tree-optimization/67283
......
/* { dg-do compile } */
void
foo ()
{
unsigned long l;
void *p = 0;
__builtin_unwind_init ();
l = 0;
__builtin_eh_return (l, p);
}
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