[llvm-branch-commits] [GSYM] Include end_sequence debug_line rows in Dwarf transform (PR #90535)

Greg Clayton via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed May 1 09:50:28 PDT 2024


================
@@ -354,6 +357,18 @@ static void convertFunctionLineTable(OutputAggregator &Out, CUInfo &CUI,
   for (uint32_t RowIndex : RowVector) {
     // Take file number and line/column from the row.
     const DWARFDebugLine::Row &Row = CUI.LineTable->Rows[RowIndex];
+
+    // TODO(avillega): With this conditional, functions folded by `icf`
+    // optimizations will only include 1 of all the folded functions. There is
+    // not a clear path forward to have the information of all folded functions
+    // in gsym.
+    if (Row.EndSequence) {
+      // End sequence markers are included for the last address
+      // in a function or the last contiguos address in a sequence.
+      break;
+    }
+
+
----------------
clayborg wrote:

What if a function is split into two discontiguous ranges? This will lose the line table information for any subsequent discontiguous ranges since we break out of the loop here.

https://github.com/llvm/llvm-project/pull/90535


More information about the llvm-branch-commits mailing list