re PR middle-end/48597 (x86-64 unwind register save location misses half-register...
authorJakub Jelinek <jakub@redhat.com>
Thu, 28 Apr 2011 17:01:02 +0000 (19:01 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 28 Apr 2011 17:01:02 +0000 (19:01 +0200)
PR middle-end/48597
* final.c (final_scan_insn): Call dwarf2out_frame_debug even for
inline asm.

From-SVN: r173120

gcc/ChangeLog
gcc/final.c

index d50ad4ea28dcc7d5c0230a2729a311ff9a46d90c..eb6cc3a99c92f92b0170f797ab0ba9fe02f834ce 100644 (file)
@@ -1,3 +1,9 @@
+2011-04-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48597
+       * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
+       inline asm.
+
 2011-04-28  Joseph Myers  <joseph@codesourcery.com>
 
        * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
index df5d7d5e6815e87e98ed0c4a091b0128040dbc66..7e1ae902477ef312a5447b3d89c63ef3420d6e45 100644 (file)
@@ -2313,6 +2313,11 @@ final_scan_insn (rtx insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED,
            location_t loc;
            expanded_location expanded;
 
+           /* Make sure we flush any queued register saves in case this
+              clobbers affected registers.  */
+           if (dwarf2out_do_frame ())
+             dwarf2out_frame_debug (insn, false);
+
            /* There's no telling what that did to the condition codes.  */
            CC_STATUS_INIT;