diff mbox

xtensa: Fix PR target/78603

Message ID 1480457303-16557-1-git-send-email-jcmvbkbc@gmail.com
State New
Headers show

Commit Message

Max Filippov Nov. 29, 2016, 10:08 p.m. UTC
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.
---
 gcc/config/xtensa/xtensa.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

augustine.sterling@gmail.com Nov. 29, 2016, 10:16 p.m. UTC | #1
On Tue, Nov 29, 2016 at 2:08 PM, Max Filippov <jcmvbkbc@gmail.com> wrote:
> 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.

Approved. Please apply.
Max Filippov Nov. 29, 2016, 10:27 p.m. UTC | #2
On Tue, Nov 29, 2016 at 2:16 PM, augustine.sterling@gmail.com
<augustine.sterling@gmail.com> wrote:
> On Tue, Nov 29, 2016 at 2:08 PM, Max Filippov <jcmvbkbc@gmail.com> wrote:
>> 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.
>
> Approved. Please apply.

Applied to trunk. Thank you!

-- Max
diff mbox

Patch

diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index eb039ba..1236151 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -4165,7 +4165,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);