search for: passlist

Displaying 8 results from an estimated 8 matches for "passlist".

2003 Aug 13
1
[LLVMdev] Running a pass
...need a PassInfo object, using which we create a new pass object. I tried the following code (which I wrote after looking at the code for bugpoint), but the list of passes seems to be empty: // Create a list of all the registered passses static cl::list<const PassInfo*, bool, PassNameParser> PassList(cl::desc("Passes available:"), cl::ZeroOrMore); mem2reg_pass = NULL; for(It i = PassList.begin(); i != PassList.end(); i++) { std::cout << (*i)->getPassName() << endl; if(string("mem2reg") == (*i)->getPassName()) { mem2reg_pass = *i; break;...
2012 Jun 28
1
[LLVMdev] Any way to use a pass in opt, that does not have normal constructor?
Dear LLVM, The TargetData pass needs target data layout to be specified in constructor, and therefore its normal ctor is defined, but always gives a fatal error. Still, is there any way to make it loadable into the opt tool? I need this to make use of bugpoint in reducing backend test case. Thanks, - Dima.
2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
Ok, here's a potentialy stupid question: how do I choose the various flavors of alias analysis on the command line? I followed the alias analysis design in its use of AnalysisGroup when I did the register coalescing refactoring and alternative implentations. But I can't figure out how to actually invoke the different versions. There's no cl_opt for the various alias analysis flavors
2007 Aug 09
0
[LLVMdev] Choosing Alias Analysis
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. - Devang
2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
...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
2007 Aug 10
0
[LLVMdev] Choosing Alias Analysis
On Friday 10 August 2007 15:12, David Greene wrote: > Perhaps an easier way is to just expose the -simple-register-coalescing > and -conservative-register-coalescing options to the user, but I don't know > how to do that on an individual pass bases. opt just jams then all in with > PassNameParser. PassNameParser.h makes reference to a > FilteredPassNameParser that sounds
2007 Aug 10
3
[LLVMdev] Choosing Alias Analysis
...er that only // accepts a Pass whose Arg matches certain strings. // // Use like this: // // extern const char AllowedPassArgs[] = "-anders_aa -dse"; // // static cl::list< // const PassInfo*, // bool, // FilteredPassNameParser<PassArgFilter<AllowedPassArgs> > > // PassList(cl::desc("LLVM optimizations available:")); // // Only the -anders_aa and -dse options will be available to the user. // template<const char *Args> class PassArgFilter { public: bool operator()(const PassInfo &P) const { return std::strstr(Args, P.getPassArgument()) != 0;...
2007 Aug 10
2
[LLVMdev] Choosing Alias Analysis
On Friday 10 August 2007 13:54, Devang Patel wrote: > > Or is it sufficient than an Andersen's object is constructed and > > that that > > constitutes "availability?" > > What do you mean by "available" ? You are using quotes :) "Available" as referenced by PassSupport.h: /// RegisterAnalysisGroup - Register a Pass as a member of an