| From e178289a12a829ec47dc5038d91401f65381e71d Mon Sep 17 00:00:00 2001 |
| From: Max Filippov <jcmvbkbc@gmail.com> |
| Date: Tue, 29 Nov 2016 13:09:17 -0800 |
| Subject: [PATCH 8/8] xtensa: Fix PR target/78603 |
| |
| 2016-11-29 Max Filippov <jcmvbkbc@gmail.com> |
| gcc/ |
| * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero |
| overhead loop start between a call and its CALL_ARG_LOCATION |
| note. |
| |
| Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> |
| --- |
| Backported from: r242979 |
| |
| gcc/config/xtensa/xtensa.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c |
| index 206ff80..36ab1e3 100644 |
| --- a/gcc/config/xtensa/xtensa.c |
| +++ b/gcc/config/xtensa/xtensa.c |
| @@ -4182,7 +4182,10 @@ hwloop_optimize (hwloop_info loop) |
| entry_after = BB_END (entry_bb); |
| while (DEBUG_INSN_P (entry_after) |
| || (NOTE_P (entry_after) |
| - && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) |
| + && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK |
| + /* Make sure we don't split a call and its corresponding |
| + CALL_ARG_LOCATION note. */ |
| + && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION)) |
| entry_after = PREV_INSN (entry_after); |
| |
| emit_insn_after (seq, entry_after); |
| -- |
| 2.1.4 |
| |