[llvm-dev] ScalarEvolution pass and interprocedural analysis

Sanjoy Das via llvm-dev llvm-dev at lists.llvm.org
Sun Sep 4 15:58:36 PDT 2016

Hi Dmitrii,

Dmitrii Kuvaiskii via llvm-dev wrote:
 > So, two questions: (1) is there a way to make Scalar Evolution work in
 > an interprocedural manner? (2) would it be too expensive in terms of
 > compilation time for real-world (think memcached, nginx) programs?

Promoting SCEV to an inter-procedural analysis will be a lot of work.
Have you been running into cases like the above in practice?  In the
example you gave, `foo` should most certainly have been inlined.

 > Any feedback/hints/papers are welcome, thanks in advance. Also, any
 > good manual on how ScalarEvolution can be used in LLVM would be great
 > (currently I'm looking into how other LLVM passes use it).

Looking at how other passes in LLVM use it is probably the right path
forward.  Feel free to ask any questions you have (either here on the
dev list or on IRC).

-- Sanjoy

More information about the llvm-dev mailing list