Hi!<div><br></div><div>This patch fixes the representation of debug line table in DebugInfo LLVM library. Instead of just collection of rows, debug line table for compilation unit is now</div><div>treated as the number of row ranges, describing sequences [1]. The sequences are not always listed in the order of increasing address, so</div>
<div>the previously used std::lower_bound() sometimes produced wrong results. Now the instruction address lookup consists of two stages: finding the</div><div>correct sequence, and searching for address in range of rows for this sequence.</div>
<div><br></div><div>[1] dwarfstd: "Sequence - A series of contiguous target machine instructions. One compilation unit may emit multiple sequences</div><div>(that is, not all instructions within a compilation unit are assumed to be contiguous)"</div>
<div><br></div><div>Code review: <a href="http://codereview.appspot.com/6423064/">http://codereview.appspot.com/6423064/</a></div><div><div><br></div>-- <br><div>Alexey Samsonov, MSK</div><br>
</div>