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

Lang Hames lhames at gmail.com
Fri Aug 1 14:33:49 PDT 2014


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140801/b301da40/attachment.html>


More information about the llvm-commits mailing list