[llvm] r176605 - Debug Info: store the files and directories for each compile unit.

Manman Ren mren at apple.com
Fri Mar 8 10:32:24 PST 2013


On Mar 6, 2013, at 6:07 PM, Eric Christopher <echristo at gmail.com> wrote:

> 
> 
> 
> On Wed, Mar 6, 2013 at 5:42 PM, Manman Ren <mren at apple.com> wrote:
> Author: mren
> Date: Wed Mar  6 19:42:00 2013
> New Revision: 176605
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=176605&view=rev
> Log:
> Debug Info: store the files and directories for each compile unit.
> 
> We now emit a line table for each compile unit. To reduce the prologue size
> of each line table, the files and directories used by each compile unit are
> stored in std::map<unsigned, std::vector< > > instead of std::vector< >.
> 
> The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
> compile unit causes a huge increase of debug info. With this patch, each
> prologue will only emit the files required by the compile unit.
> 
> Looks good. Any reason not to use SmallVector instead?

I replaced std::vector with std::map<unsigned, std::vector> to keep the changes minimal.
We should be able to replace std::map<unsigned, std::vector> with std::map<unsigned, SmallVector>.

-Manman
> 
> -eric 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130308/e09cc6e1/attachment.html>


More information about the llvm-commits mailing list