[llvm] r203821 - MCDwarf: Refactor line table handling into a single data structure

Rafael EspĂ­ndola rafael.espindola at gmail.com
Thu Mar 13 11:30:20 PDT 2014


> Thanks for the pointer - Eric and I were chatting about this on the
> way in this morning & I've some ideas about how this refactoring could
> lay the foundation for resolving that issue - though I'm not sure I'll
> get all the way to that in this particular refactoring effort. The
> debug_line.dwo is my motivating use case for now.
>
> (basically the idea is that once we've got line tables as a reusable
> component it'd be nice to have each (compile or type) unit refer to
> its line table directly (rather than going through DwarfDebug then to
> MCStreamer and looking up by CUID each time..) - once that happens, we
> could build a line table factory function into the MCStreamer - and
> MCAsmStreamer would just keep returning the same line table while
> MCObjectStreamer would return a new one each time (and we'd just keep
> the type unit 'line' table in DwarfDebug directly))

But that would keep the current undesirable behavior that "llc foo.bc
-o foo.s  && clang -c foo.s" produces one compile unit and "llc
-filetype=obj foo.bc" produces multiple, no? To fix that we really
need to find a way to represent multiple compilation units in the
assembly file.

Cheers,
Rafael



More information about the llvm-commits mailing list