[LLVMdev] Interprocedural optimizations in LLVM

Devang Patel dpatel at apple.com
Fri Dec 21 11:45:39 PST 2007

On Dec 21, 2007, at 11:31 AM, naineet at cse.iitb.ac.in wrote:

> Hi Everyone,
> Can Someone tell me all the interprocedural optimizations that LLVM  
> 2.1
> supports.

Once you checkout llvm 2.1 sources,

$ cd lib/Transforms/IPO/
$ ls
ArgumentPromotion.cpp		GlobalOpt.cpp			LowerSetJmp.cpp
ConstantMerge.cpp		IPConstantPropagation.cpp	Makefile
DeadArgumentElimination.cpp	IndMemRemoval.cpp		PruneEH.cpp
DeadTypeElimination.cpp		InlineSimple.cpp		RaiseAllocations.cpp
Debug				Inliner.cpp			SimplifyLibCalls.cpp
ExtractFunction.cpp		Internalize.cpp			StripDeadPrototypes.cpp
GlobalDCE.cpp			LoopExtractor.cpp		StripSymbols.cpp

In llvm 2.1 sources, there is incomplete document describing  
optimization passes that may also be able to answer your query.

Yet another alternative is to build llvm optimizer tool 'opt' and do
	$ opt --help
to get list of optimization passes.

LLVM Documentation page, http://llvm.org/docs/, has lots of  
information on how to build, use and extend LLVM.


More information about the llvm-dev mailing list