[llvm] r214560 - Add a non-const subtarget returning function to the target machine

Eric Christopher echristo at gmail.com
Fri Aug 1 14:36:22 PDT 2014


Thanks :)

-eric

On Fri, Aug 1, 2014 at 2:33 PM, Lang Hames <lhames at gmail.com> wrote:
> Totally reasonable.  I look forward to removing it again in the very near
> future. :)
>
> - Lang.
>
>
> On Fri, Aug 1, 2014 at 2:18 PM, Eric Christopher <echristo at gmail.com> wrote:
>>
>> 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();
>>    }
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>



More information about the llvm-commits mailing list