summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-08-01 21:18:01 +0000
committerEric Christopher <echristo@gmail.com>2014-08-01 21:18:01 +0000
commit6c05d9135f13021622504d57309a559a60e8ae62 (patch)
tree292ba5c1c0954951b0bb17141c7140ac04944d31 /llvm/lib
parent908d809b81dc0394b37ee4f2a407701f1e8d0945 (diff)
downloadbcm5719-llvm-6c05d9135f13021622504d57309a559a60e8ae62.tar.gz
bcm5719-llvm-6c05d9135f13021622504d57309a559a60e8ae62.zip
Add a non-const subtarget returning function to the target machine
so that we can use it to get the old-style JIT out of the subtarget. This code should be removed when the old-style JIT is removed (imminently). llvm-svn: 214560
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.h3
-rw-r--r--llvm/lib/Target/Mips/MipsTargetMachine.h7
-rw-r--r--llvm/lib/Target/PowerPC/PPCTargetMachine.h3
-rw-r--r--llvm/lib/Target/Sparc/SparcTargetMachine.h5
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.h3
5 files changed, 16 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.h b/llvm/lib/Target/ARM/ARMTargetMachine.h
index b72b1df4af8..9a89f8bfe54 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.h
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.h
@@ -33,6 +33,7 @@ public:
bool isLittle);
const ARMSubtarget *getSubtargetImpl() const override { return &Subtarget; }
+ ARMSubtarget *getSubtargetImpl() override { return &Subtarget; }
const ARMBaseRegisterInfo *getRegisterInfo() const override {
return getSubtargetImpl()->getRegisterInfo();
}
@@ -54,7 +55,7 @@ public:
const DataLayout *getDataLayout() const override {
return getSubtargetImpl()->getDataLayout();
}
- ARMJITInfo *getJITInfo() override { return Subtarget.getJITInfo(); }
+ ARMJITInfo *getJITInfo() override { return getSubtargetImpl()->getJITInfo(); }
/// \brief Register ARM analysis passes with a pass manager.
void addAnalysisPasses(PassManagerBase &PM) override;
diff --git a/llvm/lib/Target/Mips/MipsTargetMachine.h b/llvm/lib/Target/Mips/MipsTargetMachine.h
index bcf411f9cd6..1651457dd7c 100644
--- a/llvm/lib/Target/Mips/MipsTargetMachine.h
+++ b/llvm/lib/Target/Mips/MipsTargetMachine.h
@@ -50,13 +50,18 @@ public:
return Subtarget;
return &DefaultSubtarget;
}
+ MipsSubtarget *getSubtargetImpl() override {
+ if (Subtarget)
+ return Subtarget;
+ return &DefaultSubtarget;
+ }
const InstrItineraryData *getInstrItineraryData() const override {
return Subtarget->inMips16Mode()
? nullptr
: &getSubtargetImpl()->getInstrItineraryData();
}
MipsJITInfo *getJITInfo() override {
- return Subtarget->getJITInfo();
+ return getSubtargetImpl()->getJITInfo();
}
const MipsRegisterInfo *getRegisterInfo() const override {
return getSubtargetImpl()->getRegisterInfo();
diff --git a/llvm/lib/Target/PowerPC/PPCTargetMachine.h b/llvm/lib/Target/PowerPC/PPCTargetMachine.h
index 4c7029ca7a3..e11b4681dbd 100644
--- a/llvm/lib/Target/PowerPC/PPCTargetMachine.h
+++ b/llvm/lib/Target/PowerPC/PPCTargetMachine.h
@@ -38,7 +38,7 @@ public:
const PPCFrameLowering *getFrameLowering() const override {
return getSubtargetImpl()->getFrameLowering();
}
- PPCJITInfo *getJITInfo() override { return Subtarget.getJITInfo(); }
+ PPCJITInfo *getJITInfo() override { return getSubtargetImpl()->getJITInfo(); }
const PPCTargetLowering *getTargetLowering() const override {
return getSubtargetImpl()->getTargetLowering();
}
@@ -53,6 +53,7 @@ public:
return getSubtargetImpl()->getDataLayout();
}
const PPCSubtarget *getSubtargetImpl() const override { return &Subtarget; }
+ PPCSubtarget *getSubtargetImpl() override { return &Subtarget; }
const InstrItineraryData *getInstrItineraryData() const override {
return &getSubtargetImpl()->getInstrItineraryData();
}
diff --git a/llvm/lib/Target/Sparc/SparcTargetMachine.h b/llvm/lib/Target/Sparc/SparcTargetMachine.h
index 03b513746df..d5fb272a128 100644
--- a/llvm/lib/Target/Sparc/SparcTargetMachine.h
+++ b/llvm/lib/Target/Sparc/SparcTargetMachine.h
@@ -35,6 +35,7 @@ public:
return getSubtargetImpl()->getFrameLowering();
}
const SparcSubtarget *getSubtargetImpl() const override { return &Subtarget; }
+ SparcSubtarget *getSubtargetImpl() override { return &Subtarget; }
const SparcRegisterInfo *getRegisterInfo() const override {
return getSubtargetImpl()->getRegisterInfo();
}
@@ -44,7 +45,9 @@ public:
const SparcSelectionDAGInfo *getSelectionDAGInfo() const override {
return getSubtargetImpl()->getSelectionDAGInfo();
}
- SparcJITInfo *getJITInfo() override { return Subtarget.getJITInfo(); }
+ SparcJITInfo *getJITInfo() override {
+ return getSubtargetImpl()->getJITInfo();
+ }
const DataLayout *getDataLayout() const override {
return getSubtargetImpl()->getDataLayout();
}
diff --git a/llvm/lib/Target/X86/X86TargetMachine.h b/llvm/lib/Target/X86/X86TargetMachine.h
index 41d51570b9a..9fccbe2b072 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.h
+++ b/llvm/lib/Target/X86/X86TargetMachine.h
@@ -41,8 +41,9 @@ public:
const TargetFrameLowering *getFrameLowering() const override {
return getSubtargetImpl()->getFrameLowering();
}
- X86JITInfo *getJITInfo() override { return Subtarget.getJITInfo(); }
+ X86JITInfo *getJITInfo() override { return getSubtargetImpl()->getJITInfo(); }
const X86Subtarget *getSubtargetImpl() const override { return &Subtarget; }
+ X86Subtarget *getSubtargetImpl() override { return &Subtarget; }
const X86TargetLowering *getTargetLowering() const override {
return getSubtargetImpl()->getTargetLowering();
}
OpenPOWER on IntegriCloud