https://llvm.org/bugs/show_bug.cgi?id=26564
Bug ID: 26564 Summary: Performance regression in AA Product: new-bugs Version: 3.8 Hardware: PC OS: Linux Status: NEW Keywords: performance Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: bstei...@gmail.com CC: chandl...@gmail.com, llvm-bugs@lists.llvm.org Classification: Unclassified Since upgrading to a more recent LLVM version for the Rust compiler, there has been a large increase in compile time spent in LLVM optimizations. The corresponding Rust bug report can be found here: https://github.com/rust-lang/rust/issues/31435 At least part of that seems to come from the new AA handling, which exhibits O(n^2) behavior in some cases with n being the number of active AA passes. This originates from using the AAResultProxy in the AAResultBase class. For example, calling AAResults::getModRefBehavior(CallSite) will iterate over all registered AA results which all may eventually call into AAResultBase::getModRefBehavior(CallSite) which calls AAResultProxy::getModRefBehavior(Function*) which will then iterate over all registered passes again. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs