[PATCH] D24660: [Sparc][LEON] Erratum fix to replace broken SDIV instruction with SDIVcc.

Chris Dewhurst via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 5 09:27:21 PDT 2016


lero_chris updated this revision to Diff 73655.
lero_chris added a comment.

Addresses Daniel Cederman's concerns about the integer condition codes potentially being corrupted by marking that the ICC (condition codes) are changed by the SDIV instruction when the erratum fix is switched on. This will prevent the compiler from inserting this instruction in between the condition codes being set and later, being used.

This could be fixed in the front-end of the compiler, but it was difficult to find a working solution in the back-end except for this change.


Repository:
  rL LLVM

https://reviews.llvm.org/D24660

Files:
  lib/Target/Sparc/LeonFeatures.td
  lib/Target/Sparc/LeonPasses.cpp
  lib/Target/Sparc/LeonPasses.h
  lib/Target/Sparc/Sparc.td
  lib/Target/Sparc/SparcISelLowering.cpp
  lib/Target/Sparc/SparcInstrInfo.td
  lib/Target/Sparc/SparcSubtarget.cpp
  lib/Target/Sparc/SparcSubtarget.h
  lib/Target/Sparc/SparcTargetMachine.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24660.73655.patch
Type: text/x-patch
Size: 7140 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161005/bdf533a1/attachment.bin>


More information about the llvm-commits mailing list