Dear LLVM'ers (or whatever name you will soon have),
I want to create a pass option, that I could pass at command line, and
that would be visible among many different MachineFunction passes. It
would be something like the join-liveintervals used in
LiveIntervalAnalysis, but I want my option to be visible among many
passes, and not only one. I browsed the documentation, but I did not find
the info I was looking for. Could any of you tell me a little about it?
I mean, do I have to write something like:
static cl::opt<bool>
EnableJoining("join-liveintervals",
cl::desc("Join compatible live intervals"),
cl::init(true));
in some .h, and then include it in every pass that would read
EnableJoining? Is there a standard way of doing this?
best,
Fernando
On Sat, 14 Apr 2007, Fernando Magno Quintao Pereira wrote:> the info I was looking for. Could any of you tell me a little about it? > I mean, do I have to write something like: > > static cl::opt<bool> > EnableJoining("join-liveintervals", > cl::desc("Join compatible live intervals"), > cl::init(true)); > > in some .h, and then include it in every pass that would read > EnableJoining? Is there a standard way of doing this?You want to use "external storage" so that the bool value gets put into some other global variable, then you declare the global in the public header. Take a look at how llvm/Target/TargetOptions.h works. -Chris -- http://nondot.org/sabre/ http://llvm.org/
Thank you, Chris. Now it works fine! Fernando> > You want to use "external storage" so that the bool value gets put into > some other global variable, then you declare the global in the public > header. Take a look at how llvm/Target/TargetOptions.h works. > > -Chris