I've found that I need to set the -pre-RA-sched parameter when using tools like llc to get the kind of instruction scheduling I want. However I'm normally generating and running code on the fly using the JIT, and can't figure out how to set the -pre-RA-sched option anywhere other than on the command line for the provided tools. So what code would I write (or where is the API?) to change the pre-regalloc instruction scheduler algorithm? I've been unable to find this in the documentation or reading source code; a pointer would be really useful. Thanks, Andrew
Sanjiv Gupta wrote:> On Wed, 2010-04-14 at 11:33 -0400, Andrew Friedley wrote: >> I've found that I need to set the -pre-RA-sched parameter when using >> tools like llc to get the kind of instruction scheduling I want. >> >> However I'm normally generating and running code on the fly using the >> JIT, and can't figure out how to set the -pre-RA-sched option anywhere >> other than on the command line for the provided tools. So what code >> would I write (or where is the API?) to change the pre-regalloc >> instruction scheduler algorithm? > > Does this thing below in TargetLowering help? > > /// setSchedulingPreference - Specify the target scheduling preference. > void setSchedulingPreference(SchedPreference Pref)Thanks! That doesn't look like what -pre-RA-sched eventually maps to, but it looks like the switch I want to change. Pardon my ignorance, but I have no idea how I'm supposed to get to a point where I can call this when all I have is a module and an execution engine. Better yet, how would I go about figuring this out from the documentation? I'm having no luck at all finding these things. Andrew
On Wed, 2010-04-14 at 11:33 -0400, Andrew Friedley wrote:> I've found that I need to set the -pre-RA-sched parameter when using > tools like llc to get the kind of instruction scheduling I want. > > However I'm normally generating and running code on the fly using the > JIT, and can't figure out how to set the -pre-RA-sched option anywhere > other than on the command line for the provided tools. So what code > would I write (or where is the API?) to change the pre-regalloc > instruction scheduler algorithm?Does this thing below in TargetLowering help? /// setSchedulingPreference - Specify the target scheduling preference. void setSchedulingPreference(SchedPreference Pref) - Sanjiv> I've been unable to find this in the documentation or reading source > code; a pointer would be really useful. > > Thanks, > > Andrew > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev