<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jan 29, 2013, at 2:44 PM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Made quite a few changes between the two versions (including adding a test case, that's a good start), but didn't explain what the problems you were fixing were. What problems were you running into that needed changing?</div></blockquote><div><br></div>My bad. Since there was no response on the first patch, I assumed people will just look at the updated patch.</div><div>The updated patch makes sure we generate the same code when there is only one compile unit.</div><div>And the line table will be emitted in the order of CUID.</div><div><br><blockquote type="cite"><div dir="ltr"><div>
<br></div><div style="">The MCLineIDs bit seems unwieldy and probably could be done a different way.</div><div style=""><br></div><div style="">The bit with CUID = -1 or CUID == 0 seems confusing, can you explain this a bit? At times -1 seems to be for invalid CUs and at other times the first/only CU?</div></div></blockquote>"-1" is the default CUID, when DwarfDebug does not exist.</div><div>So the first line table will be for CUID 0 when DwarfDebug exists, and will be for CUID -1 when DwarfDebug does not exist.</div><div><br><blockquote type="cite"><div dir="ltr">
<div style=""><br></div><div style="">There's really no need to keep track of the first line table for the section since the only reason the symbol is ever used is to get the offset in cases where a relocation is necessary.</div></div></blockquote>That is true, but it is weird to me if we keep the start symbols for other line tables except the first. Let me know whether this should be changed.</div><div><br></div><div>Thanks for reviewing,</div><div>Manman<br><blockquote type="cite"><div dir="ltr">
<div style=""><br></div><div style="">-eric</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 3:21 PM, Manman Ren <span dir="ltr"><<a href="mailto:mren@apple.com" target="_blank">mren@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
PING with updated patch.<br>
<br>
<br><br>
On Jan 25, 2013, at 4:05 PM, Manman Ren <<a href="mailto:mren@apple.com">mren@apple.com</a>> wrote:<br>
<br>
><br>
> Hello,<br>
><br>
> With LTO, we will generate a single object file with multiple compilation units, and we used to generate a single combined line table<br>
> and all compilation units will point to the same line table.<br>
><br>
> With this patch, we will generate one line table for each compilation unit in the object file.<br>
><br>
> Added the following members in MCContext:<br>
> +    /// The Compile Unit ID that we are currently processing.<br>
> +    int DwarfCompileUnitID;<br>
> +    /// The line table start symbol for each Compile Unit.<br>
> +    DenseMap<int, MCSymbol *> MCLineTableSymbols;<br>
> Modified members in MCLineSection:<br>
> -    MCLineEntryCollection MCLineEntries;<br>
> +    // A collection of MCLineEntry for each Compile Unit ID.<br>
> +    DenseMap<int, MCLineEntryCollection> MCLineDivisions;<br>
><br>
> Please review,<br>
><br>
> Thanks,<br>
> Manman<br>
> <line_table.patch>_______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></body></html>