[LLVMdev] [llvm-commits] Bottom-Up Scheduling?

Hal Finkel hfinkel at anl.gov
Tue Nov 29 08:51:50 PST 2011


On Tue, 2011-11-29 at 08:29 -0600, Hal Finkel wrote:
> On Mon, 2011-11-28 at 15:45 -0800, Andrew Trick wrote:
> > 
> > On Nov 28, 2011, at 3:35 PM, Hal Finkel wrote:
> > 
> > > > 
> > > > Is EmitInstruction used in bottom-up scheduling at all? The
> > > > version in
> > > > the ARM recognizer seems essential, but in all of the regression
> > > > tests
> > > > (and some other .ll files I have lying around), it is never
> > > > called. It
> > > > seems that only Reset() and getHazardType() are called. Could you
> > > > please
> > > > explain the calling sequence?
> > > 
> > > I feel that I should clarify my comment: For PPC, now that Hybrid
> > > scheduling is enabled, EmitInstruction seems never to be called (at
> > > least it is not called when running any PPC codegen test in the
> > > regression-test collection).
> > 
> > 
> > Hal,
> > 
> > 
> > Since PPCHazardRecognizer is not derived from
> > ScoreboardHazardRecognizer, you'll need to initialize MaxLookAhead to
> > the max depth of your target's itinerary.
> 
> Andy,
> 
> Thanks! Since I have to change PPCHazardRecognizer for bottom-up support
> anyway, is there any reason not to have it derive from
> ScoreboardHazardRecognizer at this point? It looks like the custom
> bundling logic could be implemented on top of the scoreboard recognizer
> (that seems similar to what ARM's recognizer is doing).

Also, how does the ARM hazard recognizer get away with not implementing
RecedeCycle?

Thanks again,
Hal

> 
>  -Hal
> 
> > 
> > 
> >  See how this is done in the ScoreboardHazardRecognizer ctor:
> > >    MaxLookAhead = ScoreboardDepth;
> >   
> > 
> > 
> > -Andy
> > 
> > 
> 

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-dev mailing list