blob: 621b3e66b0785f3e5e541b1c80c426f2cd5d5887 [file] [log] [blame]
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.