[llvm-uc] Re: [PATCH] uc32: Add get register class

  • From: 陳韋任 (Wei-Ren Chen) <chenwj@xxxxxxxxxxxxxxxxx>
  • To: llvm-uc@xxxxxxxxxxxxx
  • Date: Thu, 6 Dec 2012 15:19:01 +0800

On Thu, Dec 06, 2012 at 12:46:46PM +0800, Jia Liu wrote:
> 
> Signed-off-by: Jia Liu <proljc@xxxxxxxxx>
> ---
>  lib/Target/UniCore/UniCoreISelLowering.cpp |   13 +++++++++++--
>  lib/Target/UniCore/UniCoreISelLowering.h   |    5 +++++
>  2 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/Target/UniCore/UniCoreISelLowering.cpp 
> b/lib/Target/UniCore/UniCoreISelLowering.cpp
> index 140eecc..8cf8a18 100644
> --- a/lib/Target/UniCore/UniCoreISelLowering.cpp
> +++ b/lib/Target/UniCore/UniCoreISelLowering.cpp
> @@ -38,8 +38,17 @@ using namespace llvm;
>  
>  UniCoreTargetLowering::UniCoreTargetLowering(UniCoreTargetMachine &TM)
>    : TargetLowering(TM, new TargetLoweringObjectFileELF()),
> -    TM(TM)
> -{
> +    Subtarget(*TM.getSubtargetImpl()), TM(TM) {
                                          ^^^^^^
  我比較想用 "TM(tm)",比較好區分。 

> +  DL = getDataLayout();
> +  // Set up the register classes.
> +  addRegisterClass(MVT::i32, &UniCore::GPRRegsRegClass);
> +
> +  // Compute derived properties from the register classes
> +  computeRegisterProperties();
> +
> +  setMinFunctionAlignment(4);
> +  setPrefFunctionAlignment(4);
>  }
>  SDValue
> diff --git a/lib/Target/UniCore/UniCoreISelLowering.h 
> b/lib/Target/UniCore/UniCoreISelLowering.h
> index 611e284..99f6629 100644
> --- a/lib/Target/UniCore/UniCoreISelLowering.h
> +++ b/lib/Target/UniCore/UniCoreISelLowering.h
> @@ -36,6 +36,9 @@ namespace llvm {
>    // TargetLowering Implementation
>    
> //===--------------------------------------------------------------------===//
>  
> +  class UniCoreSubtarget;
> +  class UniCoreTargetMachine;
> +
>    class UniCoreTargetLowering : public TargetLowering  {
>    public:
>      explicit UniCoreTargetLowering(UniCoreTargetMachine &TM);
> @@ -48,7 +51,9 @@ namespace llvm {
>      virtual const char *getTargetNodeName(unsigned Opcode) const;
>  
>    private:
> +    const UniCoreSubtarget &Subtarget;
>      const UniCoreTargetMachine &TM;
> +    const DataLayout *DL;
>  
>      SDValue LowerCCCArguments(SDValue Chain,
>                                CallingConv::ID CallConv,
> -- 
> 1.7.10.2 (Apple Git-33)
> 

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667
Homepage: http://people.cs.nctu.edu.tw/~chenwj

Other related posts: