On Thursday 09 August 2007 15:56, Devang Patel wrote:> On Aug 9, 2007, at 1:52 PM, David Greene wrote:
> > So how do I get opt to use Andersens instead of basicaa, for example?
>
> Following uses basic alias analysis
>
> $ opt -licm foo.bc -disable-output -debug-pass=Structure
>
> where as
>
> $ opt -anders-aa -licm foo.bc -disable-output -debug-pass=Structure
>
> uses Andersens analysis algorithm implementation.
Heh. opt was a particularly bad choice for an example on my part. It has
special code to provide options for all of the optimizations:
// The OptimizationList is automatically populated with registered Passes by
// the PassNameParser.
//
static cl::list<const PassInfo*, bool, PassNameParser>
PassList(cl::desc("Optimizations available:"));
A better question to ask is, how do I do this with llvm-gcc? My perusal of
the code doesn't turn up any obvious places for options for alias analysis
are registered.
-Dave