[all-commits] [llvm/llvm-project] f2f36c: Emit line numbers in CodeView for trailing (after ...

Daniel Paoliello via All-commits all-commits at lists.llvm.org
Wed Sep 6 10:20:12 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f2f36c9b2955d2d742a198416f1178fd80303921
      https://github.com/llvm/llvm-project/commit/f2f36c9b2955d2d742a198416f1178fd80303921
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2023-09-06 (Wed, 06 Sep 2023)

  Changed paths:
    M lld/test/COFF/symbolizer-line-numbers.s
    M llvm/include/llvm/MC/MCCodeView.h
    M llvm/lib/MC/MCCodeView.cpp
    A llvm/test/DebugInfo/COFF/trailing-inlined-function.s

  Log Message:
  -----------
  Emit line numbers in CodeView for trailing (after `ret`) blocks from inlined functions

Issue Details:
When building up line information for CodeView debug info, LLVM attempts to gather the "range" of instructions within a function as these are printed together in a single record. If there is an inlined function, then those lines are attributed to the original function to enable generating `S_INLINESITE` records. However, this thus requires there to be instructions from the inlining function after the inlined function otherwise the instruction range would not include the inlined function.

Fix Details:
Include any inlined functions when finding the extent of a function in `getFunctionLineEntries`

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D159226




More information about the All-commits mailing list