This is an archive of the discontinued LLVM Phabricator instance.

[Sparc][LEON] Erratum fix. Insert NOP after LD or LDF instruction
ClosedPublic

Authored by lero_chris on May 18 2016, 12:53 AM.

Details

Summary

Due to an erratum in some versions of LEON, we must insert a NOP after any LD or LDF instruction to ensure the processor has time to load the value correctly before using it. This pass will implement that erratum fix.

Diff Detail

Repository
rL LLVM

Event Timeline

lero_chris retitled this revision from to [Sparc][LEON] Erratum fix. Insert NOP after LD or LDF instruction.
lero_chris updated this object.
lero_chris added a reviewer: jacob_hansen.
lero_chris set the repository for this revision to rL LLVM.
lero_chris added a subscriber: llvm-commits.
jacob_hansen added inline comments.May 19 2016, 8:52 AM
lib/Target/Sparc/LeonPasses.cpp
23

remove out-commented code.

33

please limit your lines to 80 columns, there's a few other instances of this.

51

Please remove these out-commented lines of code (or change to debug output), this and on line 60 and 71.

lib/Target/Sparc/SparcTargetMachine.h
38

It looks like you may have used an outdated trunk when generating this diff. SparcTargetMachine no longer have a Subtarget member, and the implementation of getSubtargetImpl have changed in the trunk compared to the code here.

lero_chris updated this revision to Diff 57910.May 20 2016, 2:16 AM
  • Changes to feature lists on processors to correct mistakes in which processors need errata fixes.
  • Changes to getSubtargetImpl to be consistent with the implementation in, e.g. the ARM backend.
lero_chris updated this revision to Diff 57914.May 20 2016, 2:26 AM

Micor formatting changes and removal of commented-out code.

lero_chris accepted this revision.May 23 2016, 3:59 AM
lero_chris added a reviewer: lero_chris.
This revision is now accepted and ready to land.May 23 2016, 3:59 AM
lero_chris closed this revision.May 23 2016, 3:59 AM

Closed and committed after modifications applying to comments and no further activity.