]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
xtensa: Fix PR target/78603
authorMax Filippov <jcmvbkbc@gmail.com>
Tue, 30 May 2017 23:41:58 +0000 (23:41 +0000)
committerMax Filippov <jcmvbkbc@gcc.gnu.org>
Tue, 30 May 2017 23:41:58 +0000 (23:41 +0000)
2017-05-30  Max Filippov  <jcmvbkbc@gmail.com>
gcc/
Backport from mainline
2016-11-29  Max Filippov  <jcmvbkbc@gmail.com>

* config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
overhead loop start between a call and its CALL_ARG_LOCATION
note.

From-SVN: r248708

gcc/ChangeLog
gcc/config/xtensa/xtensa.c

index a342215ce1707243bbd1efa71e01725960359f83..4278b371b2ce2120172a3a771fb426258b5df035 100644 (file)
@@ -1,3 +1,12 @@
+2017-05-30  Max Filippov  <jcmvbkbc@gmail.com>
+
+       Backport from mainline
+       2016-11-29  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
+       overhead loop start between a call and its CALL_ARG_LOCATION
+       note.
+
 2017-05-30  Max Filippov  <jcmvbkbc@gmail.com>
 
        Backport from mainline
index 0aa6a0a817521ab73bb8aaed62eeb874d1c6a11b..1e9ab05fca1fa59aaf2707c6ee0e0de524c8565b 100644 (file)
@@ -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);