diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2016-11-29 22:22:13 +0000 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gcc.gnu.org> | 2016-11-29 22:22:13 +0000 |
commit | 464636c08a188adcbea2cec142235dd69241a681 (patch) | |
tree | 6d167b8877654e9941f57643472ea6499d5dfd54 /gcc/config/xtensa | |
parent | 576b067cc8b761ae9e489e9f85691483ef7744e8 (diff) | |
download | gcc-464636c08a188adcbea2cec142235dd69241a681.zip gcc-464636c08a188adcbea2cec142235dd69241a681.tar.gz gcc-464636c08a188adcbea2cec142235dd69241a681.tar.bz2 |
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.
From-SVN: r242979
Diffstat (limited to 'gcc/config/xtensa')
-rw-r--r-- | gcc/config/xtensa/xtensa.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index 6e8a25d..25ed7db 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -4167,7 +4167,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); |