================
@@ -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
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to