[LLVMdev] LiveVariables/LiveInterval on huge functions

Török Edwin edwintorok at gmail.com
Sun Apr 13 13:28:06 PDT 2008


In PR2193 LiveVariables runs out of memory on a 512M limit, after
processing 11557 basicblocks.
VirtRegInfo has ~180000 entries with ~700 bytes each.
If I give it more memory (1.5G) it runs out of memory in LiveInterval.

I don't see any easy solution to reduce memory usage, but should we
optimize such a huge function at once?
If the function is over some reasonable limit (5k basic-blocks?) we
could split it into smaller functions, and avoid
these problems.

I am writing a pass to do this split at llvm IR level. What do you think?


More information about the llvm-dev mailing list