[llvm] r214560 - Add a non-const subtarget returning function to the target machine
Eric Christopher
echristo at gmail.com
Fri Aug 1 14:18:01 PDT 2014
Author: echristo
Date: Fri Aug 1 16:18:01 2014
New Revision: 214560
URL: http://llvm.org/viewvc/llvm-project?rev=214560&view=rev
Log:
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).
Modified:
llvm/trunk/include/llvm/Target/TargetMachine.h
llvm/trunk/lib/Target/ARM/ARMTargetMachine.h
llvm/trunk/lib/Target/Mips/MipsTargetMachine.h
llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h
llvm/trunk/lib/Target/Sparc/SparcTargetMachine.h
llvm/trunk/lib/Target/X86/X86TargetMachine.h
Modified: llvm/trunk/include/llvm/Target/TargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetMachine.h?rev=214560&r1=214559&r2=214560&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetMachine.h (original)
+++ llvm/trunk/include/llvm/Target/TargetMachine.h Fri Aug 1 16:18:01 2014
@@ -100,6 +100,7 @@ public:
virtual const TargetSubtargetInfo *getSubtargetImpl() const {
return nullptr;
}
+ virtual TargetSubtargetInfo *getSubtargetImpl() { return nullptr; }
mutable TargetOptions Options;
Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.h?rev=214560&r1=214559&r2=214560&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMTargetMachine.h (original)
+++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.h Fri Aug 1 16:18:01 2014
@@ -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;
Modified: llvm/trunk/lib/Target/Mips/MipsTargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetMachine.h?rev=214560&r1=214559&r2=214560&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsTargetMachine.h (original)
+++ llvm/trunk/lib/Target/Mips/MipsTargetMachine.h Fri Aug 1 16:18:01 2014
@@ -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();
Modified: llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h?rev=214560&r1=214559&r2=214560&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.h Fri Aug 1 16:18:01 2014
@@ -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();
}
Modified: llvm/trunk/lib/Target/Sparc/SparcTargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/SparcTargetMachine.h?rev=214560&r1=214559&r2=214560&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Sparc/SparcTargetMachine.h (original)
+++ llvm/trunk/lib/Target/Sparc/SparcTargetMachine.h Fri Aug 1 16:18:01 2014
@@ -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();
}
Modified: llvm/trunk/lib/Target/X86/X86TargetMachine.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetMachine.h?rev=214560&r1=214559&r2=214560&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86TargetMachine.h (original)
+++ llvm/trunk/lib/Target/X86/X86TargetMachine.h Fri Aug 1 16:18:01 2014
@@ -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();
}
More information about the llvm-commits
mailing list