summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcTargetMachine.h
diff options
context:
space:
mode:
authorChris Dewhurst <chris.dewhurst@lero.ie>2016-05-23 10:56:36 +0000
committerChris Dewhurst <chris.dewhurst@lero.ie>2016-05-23 10:56:36 +0000
commit4f7cac3674d5f06e2acf2694db86e0a37de6f47c (patch)
tree8429654217184fb6e4cc42fa1eb935ceeae3b094 /llvm/lib/Target/Sparc/SparcTargetMachine.h
parent25227fe7b0b78b1377a00c0205c8d66cbfa4c1fa (diff)
downloadbcm5719-llvm-4f7cac3674d5f06e2acf2694db86e0a37de6f47c.tar.gz
bcm5719-llvm-4f7cac3674d5f06e2acf2694db86e0a37de6f47c.zip
[Sparc][LEON] LEON Erratum fix. Insert NOP after LD or LDF instruction.
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. The code will have no effect for other Sparc, but non-LEON processors. Differential Review: http://reviews.llvm.org/D20353 llvm-svn: 270417
Diffstat (limited to 'llvm/lib/Target/Sparc/SparcTargetMachine.h')
-rw-r--r--llvm/lib/Target/Sparc/SparcTargetMachine.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcTargetMachine.h b/llvm/lib/Target/Sparc/SparcTargetMachine.h
index 8c056b3c361..48193fe095b 100644
--- a/llvm/lib/Target/Sparc/SparcTargetMachine.h
+++ b/llvm/lib/Target/Sparc/SparcTargetMachine.h
@@ -22,6 +22,7 @@ namespace llvm {
class SparcTargetMachine : public LLVMTargetMachine {
std::unique_ptr<TargetLoweringObjectFile> TLOF;
+ SparcSubtarget Subtarget;
bool is64Bit;
mutable StringMap<std::unique_ptr<SparcSubtarget>> SubtargetMap;
public:
@@ -31,6 +32,7 @@ public:
CodeGenOpt::Level OL, bool is64bit);
~SparcTargetMachine() override;
+ const SparcSubtarget *getSubtargetImpl() const { return &Subtarget; }
const SparcSubtarget *getSubtargetImpl(const Function &) const override;
// Pass Pipeline Configuration
OpenPOWER on IntegriCloud