re PR c++/58372 (internal compiler error: ix86_compute_frame_layout)

PR middle-end/58372
	* cfgexpand.c (pass_expand::execute): Move the call to
	finish_eh_generation in front of the call to expand_stack_alignment.

testsuite/ChangeLog:

	PR middle-end/58372
	* g++.target/i386/pr58372.C: New test.

From-SVN: r265776
This commit is contained in:
Uros Bizjak 2018-11-04 20:22:50 +01:00
parent 2901f42f4b
commit e237f9f31d
4 changed files with 30 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2018-11-04 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/58372
* cfgexpand.c (pass_expand::execute): Move the call to
finish_eh_generation in front of the call to expand_stack_alignment.
2018-11-04 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* common/config/i386/i386-common.c (processor_alias_table): Add

View File

@ -6510,6 +6510,14 @@ pass_expand::execute (function *fun)
find_many_sub_basic_blocks (blocks);
purge_all_dead_edges ();
/* After initial rtl generation, call back to finish generating
exception support code. We need to do this before cleaning up
the CFG as the code does not expect dead landing pads. */
if (fun->eh->region_tree != NULL)
finish_eh_generation ();
/* Call expand_stack_alignment after finishing all
updates to crtl->preferred_stack_boundary. */
expand_stack_alignment ();
/* Fixup REG_EQUIV notes in the prologue if there are tailcalls in this
@ -6517,12 +6525,6 @@ pass_expand::execute (function *fun)
if (crtl->tail_call_emit)
fixup_tail_calls ();
/* After initial rtl generation, call back to finish generating
exception support code. We need to do this before cleaning up
the CFG as the code does not expect dead landing pads. */
if (fun->eh->region_tree != NULL)
finish_eh_generation ();
/* BB subdivision may have created basic blocks that are are only reachable
from unlikely bbs but not marked as such in the profile. */
if (optimize)

View File

@ -1,9 +1,13 @@
2018-11-04 Uros Bizjak <ubizjak@gmail.com>
PR middle-end/58372
* g++.target/i386/pr58372.C: New test.
2018-11-03 Sandra Loosemore <sandra@codesourcery.com>
PR target/87079
* gcc.target/nios2/pr87079-1.c: New.
* gcc.target/nios2/pr87079-2.c: New.
* gcc.target/nios2/pr87079-1.c: New.
* gcc.target/nios2/pr87079-2.c: New.
2018-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

View File

@ -0,0 +1,9 @@
/* PR target/58372 */
/* { dg-do compile { target c++14 } } */
/* { dg-options "-O2" } */
__attribute__ ((__target__ ("rdrnd")))
void f (unsigned int *b) noexcept
{
__builtin_ia32_rdrand32_step (b);
}