[llvm-bugs] [Bug 26214] New: IR verifier slows down linking Chrome with LTO by 2.5x
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Jan 19 15:51:06 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=26214
Bug ID: 26214
Summary: IR verifier slows down linking Chrome with LTO by 2.5x
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: krasin at google.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
IR verifier added in http://reviews.llvm.org/rL257825 and
http://reviews.llvm.org/rL257823 significantly slows down LTO build. The larger
the target, the higher ratio of the slowdown. Linking Chrome with LTO is 27
mins before the changes, and 88 minutes after them.
Here is the profile:
+ 40.50% ld.gold LLVMgold.so [.] bool llvm::function_ref<bool
(llvm::Value const*)>::callback_fn<(anonymous
namespace)::Verifier::visitGlobalValue(llvm::GlobalValue
const&)::{lambda(llvm::Valu
+ 19.61% ld.gold LLVMgold.so [.] llvm::Use::getImpliedUser()
const
+ 7.20% ld.gold LLVMgold.so [.]
llvm::IRMover::move(llvm::Module&, llvm::ArrayRef<llvm::GlobalValue*>,
std::function<void (llvm::GlobalValue&, std::function<void
(llvm::GlobalValue&)>)>, llvm
+ 2.63% ld.gold LLVMgold.so [.]
llvm::SmallPtrSetImplBase::FindBucketFor(void const*) const
+ 1.92% ld.gold [kernel.kallsyms] [k] 0xffffffff81180fa0
+ 1.60% ld.gold LLVMgold.so [.] forEachUser(llvm::Value
const*, llvm::SmallPtrSet<llvm::Value const*, 32u>&, llvm::function_ref<bool
(llvm::Value const*)>) [clone .constprop.1086]
+ 1.58% ld.gold libc-2.19.so [.] _int_malloc
+ 1.18% ld.gold LLVMgold.so [.] llvm::Use::getUser() const
+ 0.82% ld.gold LLVMgold.so [.]
llvm::SmallPtrSetImplBase::insert_imp(void const*)
+ 0.76% ld.gold LLVMgold.so [.]
llvm::NamedMDNode::getOperand(unsigned int) const
This regression is severe for our use case (deploying Control Flow Integrity in
Chrome), but I don't think it's limited just to us. Anyone who uses LTO is
affected.
--
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/20160119/50cc31eb/attachment.html>
More information about the llvm-bugs
mailing list