+2017-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/79494
+ * config/i386/i386.c (ix86_expand_split_stack_prologue): Call
+ make_reg_eh_region_note_nothrow_nononlocal on call_insn.
+ * config/rs6000/rs6000.c: Include except.h.
+ (rs6000_expand_split_stack_prologue): Call
+ make_reg_eh_region_note_nothrow_nononlocal on the call insn.
+
2017-02-21 Martin Jambor <mjambor@suse.cz>
PR lto/79579
add_function_usage_to (call_insn, call_fusage);
if (!TARGET_64BIT)
add_reg_note (call_insn, REG_ARGS_SIZE, GEN_INT (0));
+ /* Indicate that this function can't jump to non-local gotos. */
+ make_reg_eh_region_note_nothrow_nononlocal (as_a <rtx_insn *> (call_insn));
/* In order to make call/return prediction work right, we now need
to execute a return instruction. See
#include "builtins.h"
#include "context.h"
#include "tree-pass.h"
+#include "except.h"
#if TARGET_XCOFF
#include "xcoffout.h" /* get declarations of xcoff_*_section_name */
#endif
split_stack_return use r0. */
use_reg (&call_fusage, r0);
add_function_usage_to (insn, call_fusage);
+ /* Indicate that this function can't jump to non-local gotos. */
+ make_reg_eh_region_note_nothrow_nononlocal (insn);
emit_insn (gen_frame_load (r0, r1, info->lr_save_offset));
insn = emit_move_insn (lr, r0);
add_reg_note (insn, REG_CFA_RESTORE, lr);
+2017-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/79494
+ * gcc.dg/pr79494.c: New test.
+
2017-02-21 Segher Boessenkool <segher@kernel.crashing.org>
* gcc.dg/plugin/diagnostic-test-expressions-1.c: Add -Wno-psabi
--- /dev/null
+/* PR target/79494 */
+/* { dg-do compile } */
+/* { dg-require-effective-target split_stack } */
+/* { dg-options "-O2 -fsplit-stack -g" } */
+
+void
+foo (int a)
+{
+ __label__ lab;
+ __attribute__((noinline, noclone)) void bar (int b)
+ {
+ switch (b)
+ {
+ case 1:
+ goto lab;
+ case 2:
+ goto lab;
+ }
+ }
+ bar (a);
+lab:;
+}