From cb2e8560f9d446c60610934b8d28b810f8396189 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 10 Feb 2018 15:19:15 +1030 Subject: [PATCH] PR84300, ICE in dwarf2cfi on ppc64le with -fsplit-stack -fno-omit-frame-pointer PR target/84300 gcc/ * config/rs6000/rs6000.md (split_stack_return): Remove (use ..). Specify LR as an input. gcc/testsuite/ * gcc.dg/pr84300.c: New. From-SVN: r257549 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.md | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr84300.c | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/pr84300.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ee4f1cf6b3..9e4682e7947 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-02-10 Alan Modra + + PR target/84300 + * config/rs6000/rs6000.md (split_stack_return): Remove (use ..). + Specify LR as an input. + 2018-02-10 Jakub Jelinek PR sanitizer/83987 diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 8aa4e0e7c71..5f44d80ef0e 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -13360,7 +13360,7 @@ ;; Use r0 to stop regrename twiddling with lr restore insns emitted ;; after the call to __morestack. (define_insn "split_stack_return" - [(unspec_volatile [(use (reg:SI 0))] UNSPECV_SPLIT_STACK_RETURN)] + [(unspec_volatile [(reg:SI 0) (reg:SI LR_REGNO)] UNSPECV_SPLIT_STACK_RETURN)] "" "blr" [(set_attr "type" "jmpreg")]) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1688f5a8aa2..e899f5653f4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-02-10 Alan Modra + + PR target/84300 + * gcc.dg/pr84300.c: New. + 2018-02-10 Jakub Jelinek PR sanitizer/83987 diff --git a/gcc/testsuite/gcc.dg/pr84300.c b/gcc/testsuite/gcc.dg/pr84300.c new file mode 100644 index 00000000000..6016799a43f --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr84300.c @@ -0,0 +1,5 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target split_stack } */ +/* { dg-options "-g -O2 -fsplit-stack -fno-omit-frame-pointer" } */ + +void trap () { __builtin_trap (); } -- 2.30.2