[llvm-dev] [SPARC]: leon2 and leon3: not respecting delayed-write to Y-register

Joerg Sonnenberger via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 16 06:54:09 PST 2016


On Wed, Nov 16, 2016 at 03:52:16PM +0100, Joerg Sonnenberger via llvm-dev wrote:
> On Wed, Nov 16, 2016 at 11:29:18AM +0100, Patrick Boettcher via llvm-dev wrote:
> > IMHO the best solution could be to add a pass which checks
> > whether there are read-hazards after any state-register-writes (Y,
> > PSR, ASR, WIM, TBR) and which adds NOPs if necessary or even reschedules
> > other instructions. (Some years ago, there was this
> > HazardRecognition-class in the scheduler which could be used for
> > that.)
> 
> The existing DelaySlotFiller logic might be extensible for this. It
> currently handles the fcmp variants and restore, I think. Depending on
> the specific logic you want to model, that would be the best start, I
> think.

There is also the InsertNOPLoad pass in the Leon-specific part.

Joerg


More information about the llvm-dev mailing list