diff options
author | Chris Dewhurst <chris.dewhurst@lero.ie> | 2016-10-10 08:53:06 +0000 |
---|---|---|
committer | Chris Dewhurst <chris.dewhurst@lero.ie> | 2016-10-10 08:53:06 +0000 |
commit | 850131213f1cb52653f7ff092cf48a23e04bab24 (patch) | |
tree | f4d8657b3f5abf7ae3e103919c20d069e3b09236 /llvm/lib/Target/Sparc/SparcSubtarget.h | |
parent | 30cd7341d07a94b78864355c64103d41bdbde910 (diff) | |
download | bcm5719-llvm-850131213f1cb52653f7ff092cf48a23e04bab24.tar.gz bcm5719-llvm-850131213f1cb52653f7ff092cf48a23e04bab24.zip |
This pass, fixing an erratum in some LEON 2 processors ensures that the SDIV instruction is not issued, but replaced by SDIVcc instead, which does not exhibit the error. Unit test included.
Differential Review: https://reviews.llvm.org/D24660
llvm-svn: 283727
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcSubtarget.h')
-rw-r--r-- | llvm/lib/Target/Sparc/SparcSubtarget.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcSubtarget.h b/llvm/lib/Target/Sparc/SparcSubtarget.h index 9122f54f7c8..25dc4291c44 100644 --- a/llvm/lib/Target/Sparc/SparcSubtarget.h +++ b/llvm/lib/Target/Sparc/SparcSubtarget.h @@ -48,6 +48,7 @@ class SparcSubtarget : public SparcGenSubtargetInfo { bool FixFSMULD; bool ReplaceFMULS; bool FixAllFDIVSQRT; + bool PerformSDIVReplace; SparcInstrInfo InstrInfo; SparcTargetLowering TLInfo; @@ -86,6 +87,7 @@ public: // Leon options bool hasUmacSmac() const { return HasUmacSmac; } + bool performSDIVReplace() const { return PerformSDIVReplace; } bool hasLeonCasa() const { return HasLeonCasa; } bool insertNOPLoad() const { return InsertNOPLoad; } bool fixFSMULD() const { return FixFSMULD; } |