OSDN Git Service

MCDwarf: Invert the Section+CU->LineEntries mapping so the CU is the primary dimension
authorDavid Blaikie <dblaikie@gmail.com>
Wed, 12 Mar 2014 22:28:56 +0000 (22:28 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Wed, 12 Mar 2014 22:28:56 +0000 (22:28 +0000)
commit16300ca843f287fff22a912b30a28ea24e93a266
treef59e9c6616aae74f30db474efced8892fd67c62d
parenteb8eef0b3faf7f3dbc4ba1bbdc60f4452ef37a7e
MCDwarf: Invert the Section+CU->LineEntries mapping so the CU is the primary dimension

This makes the mapping consistent with other CU->X mappings in the
MCContext, helping pave the way to refactor all these values into a
single data structure per CU and thus a single map.

I haven't renamed the data structure as that would make the patch churn
even higher (the MCLineSection name no longer makes sense, as this
structure now contains lines for multiple sections covered by a single
CU, rather than lines for a single section in multiple CUs) and further
refactorings will follow that may remove this type entirely.

For convenience, I also gave the MCLineSection value semantics so we
didn't have to do the lazy construction, manual delete, etc.

(& for those playing at home, refactoring the line printing into a
single data structure will eventually alow that data structure to be
reused to own the debug_line.dwo line table used for type unit file name
resolution)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203726 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCContext.h
include/llvm/MC/MCDwarf.h
lib/MC/MCContext.cpp
lib/MC/MCDwarf.cpp