[llvm-commits] PATCH: DebugInfo lib: fix instruction address lookup in line table

Alexey Samsonov samsonov at google.com
Fri Jul 20 05:35:38 PDT 2012


Hi!

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
treated as the number of row ranges, describing sequences [1]. The
sequences are not always listed in the order of increasing address, so
the previously used std::lower_bound() sometimes produced wrong results.
Now the instruction address lookup consists of two stages: finding the
correct sequence, and searching for address in range of rows for this
sequence.

[1] dwarfstd: "Sequence - A series of contiguous target machine
instructions. One compilation unit may emit multiple sequences
(that is, not all instructions within a compilation unit are assumed to be
contiguous)"

Code review: http://codereview.appspot.com/6423064/

-- 
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120720/4d909eba/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: issue6423064_2001.diff
Type: application/octet-stream
Size: 10570 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120720/4d909eba/attachment.obj>


More information about the llvm-commits mailing list