mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 01:50:33 +08:00
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:
parent
2901f42f4b
commit
e237f9f31d
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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>
|
||||
|
||||
|
9
gcc/testsuite/g++.target/i386/pr58372.C
Normal file
9
gcc/testsuite/g++.target/i386/pr58372.C
Normal 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);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user