diff options
author | Richard Henderson <rth@redhat.com> | 2016-03-07 03:48:57 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2016-03-07 03:48:57 -0800 |
commit | 5edb985350a075f467323e37cdb41c84b6127fcf (patch) | |
tree | 9cdf333a2423bf80e844905edf079aa43f0ac82d /gcc/tree-outof-ssa.c | |
parent | 2067a8f3c21aea9c049fcddb673aeee71911428d (diff) | |
download | gcc-5edb985350a075f467323e37cdb41c84b6127fcf.zip gcc-5edb985350a075f467323e37cdb41c84b6127fcf.tar.gz gcc-5edb985350a075f467323e37cdb41c84b6127fcf.tar.bz2 |
re PR rtl-optimization/70061 (ICE: SIGSEGV in delete_insn_chain() with unused label)
PR rtl-opt/70061
* tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
(insert_value_copy_on_edge): Likewise.
* gcc.c-torture/compile/pr70061.c: New test.
From-SVN: r234025
Diffstat (limited to 'gcc/tree-outof-ssa.c')
-rw-r--r-- | gcc/tree-outof-ssa.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-outof-ssa.c b/gcc/tree-outof-ssa.c index 25286a2..4125529 100644 --- a/gcc/tree-outof-ssa.c +++ b/gcc/tree-outof-ssa.c @@ -41,6 +41,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-ssa-ter.h" #include "tree-ssa-coalesce.h" #include "tree-outof-ssa.h" +#include "dojump.h" /* FIXME: A lot of code here deals with expanding to RTL. All that code should be in cfgexpand.c. */ @@ -220,6 +221,7 @@ emit_partition_copy (rtx dest, rtx src, int unsignedsrcp, tree sizeexp) } else emit_move_insn (dest, src); + do_pending_stack_adjust (); rtx_insn *seq = get_insns (); end_sequence (); @@ -312,6 +314,8 @@ insert_value_copy_on_edge (edge e, int dest, tree src, source_location locus) if (x != dest_rtx) emit_move_insn (dest_rtx, x); + do_pending_stack_adjust (); + seq = get_insns (); end_sequence (); |