tree-inline.c (expand_call_inline): Use the location of the callee declaration for...
authorRichard Biener <rguenther@suse.de>
Tue, 2 Oct 2018 10:07:29 +0000 (10:07 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 2 Oct 2018 10:07:29 +0000 (10:07 +0000)
2018-10-02  Richard Biener  <rguenther@suse.de>

* tree-inline.c (expand_call_inline): Use the location of
the callee declaration for the inline-entry marker.
* final.c (notice_source_line): Remove special-casing of
NOTE_INSN_INLINE_ENTRY.

From-SVN: r264778

gcc/ChangeLog
gcc/final.c
gcc/tree-inline.c

index b43cc388fa8187523e15638d45579e68c170230a..025f809eb600f35d4259732260893146c1c2b210 100644 (file)
@@ -1,3 +1,10 @@
+2018-10-02  Richard Biener  <rguenther@suse.de>
+
+       * tree-inline.c (expand_call_inline): Use the location of
+       the callee declaration for the inline-entry marker.
+       * final.c (notice_source_line): Remove special-casing of
+       NOTE_INSN_INLINE_ENTRY.
+
 2018-10-01  Carl Love  <cel@us.ibm.com>
 
        PR 69431
index 6943c073d9bd3ef3e751506883df6fa4281d7e3d..6e61f1e17a8edba349a325759d26ca90f99c9c19 100644 (file)
@@ -3224,17 +3224,6 @@ notice_source_line (rtx_insn *insn, bool *is_stmt)
   if (NOTE_MARKER_P (insn))
     {
       location_t loc = NOTE_MARKER_LOCATION (insn);
-      /* The inline entry markers (gimple, insn, note) carry the
-        location of the call, because that's what we want to carry
-        during compilation, but the location we want to output in
-        debug information for the inline entry point is the location
-        of the function itself.  */
-      if (NOTE_KIND (insn) == NOTE_INSN_INLINE_ENTRY)
-       {
-         tree block = LOCATION_BLOCK (loc);
-         tree fn = block_ultimate_origin (block);
-         loc = DECL_SOURCE_LOCATION (fn);
-       }
       expanded_location xloc = expand_location (loc);
       if (xloc.line == 0)
        {
index 6b5ef36f6d2fc6e0599c9f4a906897abd46e7c51..ff8ee8ce78fc6a54821ba0108337de1e87a6f354 100644 (file)
@@ -4592,7 +4592,8 @@ expand_call_inline (basic_block bb, gimple *stmt, copy_body_data *id)
     {
       gimple_stmt_iterator si = gsi_last_bb (bb);
       gsi_insert_after (&si, gimple_build_debug_inline_entry
-                       (id->block, input_location), GSI_NEW_STMT);
+                       (id->block, DECL_SOURCE_LOCATION (id->src_fn)),
+                       GSI_NEW_STMT);
     }
 
   if (DECL_INITIAL (fn))