[llvm-bugs] [Bug 33054] New: `upgradeCUVariable` is non linear
llvm-bugs at lists.llvm.org
Mon May 15 16:48:53 PDT 2017
Bug ID: 33054
Summary: `upgradeCUVariable` is non linear
OS: Windows NT
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
Adrian, you committed this code, any ideas on how we can make it more
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-bugs