[llvm-bugs] [Bug 33054] New: `upgradeCUVariable` is non linear

via llvm-bugs llvm-bugs at lists.llvm.org
Mon May 15 16:48:53 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=33054

            Bug ID: 33054
           Summary: `upgradeCUVariable` is non linear
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: DebugInfo
          Assignee: unassignedbugs at nondot.org
          Reporter: davide at freebsd.org
                CC: aprantl at apple.com, filcab at gmail.com,
                    llvm-bugs at lists.llvm.org, llvm-dev at redking.me.uk,
                    simon.f.whittaker at gmail.com

I have in my hands a modestly sized piece of bitcode [250MB] produced with 3.8
(dumped after the mover merged input modules at LTO time) that takes circa
1000secs to be parsed. The overall time spent in the optimizer is about 1/10th
of that (120secs).

The profiler shows all the time goes in `parseMetadata` while materializing, in
particular in `upgradeCUVariables` on metadata operations.

- 94.82%  llvm::MetadataLoader::MetadataLoaderImpl::upgradeCUVariables 
    - 42.72% llvm::GlobalObject::getMetadata 
       - 21.45% llvm::MDGlobalAttachmentMap::get
       [...]
    + 29.10% llvm::GlobalObject::addMetadata
    + 11.56% llvm::GlobalObject::eraseMetadata
    [...]

I'm afraid I'm not in a position to share the bitcode as it's owned by one of
our internal game teams, but I may try to reproduce on something publicly
available.

Adrian, you committed this code, any ideas on how we can make it more
efficient?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170515/e13de92b/attachment.html>


More information about the llvm-bugs mailing list