[llvm-dev] High memory use and LVI/Correlated Value Propagation

Joerg Sonnenberger via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 13 14:27:08 PST 2016


Hi all,
with the current trunk I have two major cases where clang needs more
than 2GB memory for compiling programs with -O2. One is related to GVN
and MemoryDependenceAnalysis and has a pending patch. The other is
related to the Correlated Value Propagation and Lazy Value Information
cache. Attached is a heap profile for one of the relevant test cases.
Looking at the sources, I don't see any form of CFG limiters in LVI or
CVP, so it doesn't seem surprising that large memory use can be easily
triggered. This normally also corresponds to very slow compilation, so
it addressing it fixes two issues at the same time. A test case can be
found in https://llvm.org/bugs/show_bug.cgi?id=10584.

The question for me is: where should such complexity limits be placed --
in the CVP pass or inside LVI? Is anyone specifically interested in
hunting down the problem?

Joerg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: expr.pdf
Type: application/pdf
Size: 12311 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160113/f82bd38f/attachment.pdf>


More information about the llvm-dev mailing list