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

Eric Christopher echristo at gmail.com
Fri Mar 8 10:44:26 PST 2013


On Fri, Mar 8, 2013 at 10:32 AM, Manman Ren <mren at apple.com> wrote:

>
> 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>.
>
>
That'd be great. Thanks.

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


More information about the llvm-commits mailing list