LLVM has great support for interprocedural analysis and optimization. It | |
provides standard classes like call graphs, and provides a mature | |
<a href="docs/AliasAnalysis.html">Alias Analysis Infrastructure</a> as well. | |
LLVM includes several interprocedural optimizations, including inlining, IP constant | |
propagation, dead argument elimination, dead global elimination, global | |
variable constantization, by-ref to by-value argument promotion, etc. |