[llvm] r210413 - start to clean up buildMI calls in mips fast-isel

Eric Christopher echristo at gmail.com
Thu Jun 12 11:37:23 PDT 2014


On Sat, Jun 7, 2014 at 8:04 PM, Reed Kotler <rkotler at mips.com> wrote:
> Author: rkotler
> Date: Sat Jun  7 22:04:42 2014
> New Revision: 210413
>
> URL: http://llvm.org/viewvc/llvm-project?rev=210413&view=rev
> Log:
> start to clean up buildMI calls in mips fast-isel
>
> Summary: Merge branch 'master' into 1758_6
>
> Test Plan:
> No functionality change. Run "make check" and run test-suite.
> Because our servers are not yet running again I have not yet run test-suite.
> I will further review myself before submission.
>

Please make actual useful commit messages. This stuff isn't useful.

-eric

> Reviewers: dsanders
>
> Reviewed By: dsanders
>
> Differential Revision: http://reviews.llvm.org/D3819
>
> Modified:
>     llvm/trunk/lib/Target/Mips/MipsFastISel.cpp
>
> Modified: llvm/trunk/lib/Target/Mips/MipsFastISel.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsFastISel.cpp?rev=210413&r1=210412&r2=210413&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Mips/MipsFastISel.cpp (original)
> +++ llvm/trunk/lib/Target/Mips/MipsFastISel.cpp Sat Jun  7 22:04:42 2014
> @@ -83,7 +83,7 @@ private:
>    unsigned Materialize32BitInt(int64_t Imm, const TargetRegisterClass *RC);
>
>    // for some reason, this default is not generated by tablegen
> -  // so we explicitly generate it here.
> +  // so we explicitly generate it here.
>    //
>    unsigned FastEmitInst_riir(uint64_t inst, const TargetRegisterClass *RC,
>                               unsigned Op0, bool Op0IsKill, uint64_t imm1,
> @@ -91,6 +91,20 @@ private:
>      return 0;
>    }
>
> +  MachineInstrBuilder EmitInst(unsigned Opc) {
> +    return BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Opc));
> +  }
> +
> +  MachineInstrBuilder EmitInst(unsigned Opc, unsigned DstReg) {
> +    return BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Opc),
> +                   DstReg);
> +  }
> +
> +  MachineInstrBuilder EmitInstStore(unsigned Opc, unsigned SrcReg,
> +                                    unsigned MemReg, int64_t MemOffset) {
> +    return EmitInst(Opc).addReg(SrcReg).addReg(MemReg).addImm(MemOffset);
> +  }
> +
>  #include "MipsGenFastISel.inc"
>  };
>
> @@ -155,10 +169,7 @@ bool MipsFastISel::EmitStore(MVT VT, uns
>    //
>    if (VT != MVT::i32)
>      return false;
> -  BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Mips::SW))
> -      .addReg(SrcReg)
> -      .addReg(Addr.Base.Reg)
> -      .addImm(Addr.Offset);
> +  EmitInstStore(Mips::SW, SrcReg, Addr.Base.Reg, Addr.Offset);
>    return true;
>  }
>
> @@ -198,8 +209,7 @@ bool MipsFastISel::SelectRet(const Instr
>    if (Ret->getNumOperands() > 0) {
>      return false;
>    }
> -  unsigned RetOpc = Mips::RetRA;
> -  BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(RetOpc));
> +  EmitInst(Mips::RetRA);
>    return true;
>  }
>
> @@ -233,9 +243,8 @@ unsigned MipsFastISel::MaterializeGV(con
>    // TLS not supported at this time.
>    if (IsThreadLocal)
>      return 0;
> -  BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Mips::LW), DestReg)
> -      .addReg(MFI->getGlobalBaseReg())
> -      .addGlobalAddress(GV, 0, MipsII::MO_GOT);
> +  EmitInst(Mips::LW, DestReg).addReg(MFI->getGlobalBaseReg()).addGlobalAddress(
> +      GV, 0, MipsII::MO_GOT);
>    return DestReg;
>  }
>  unsigned MipsFastISel::MaterializeInt(const Constant *C, MVT VT) {
> @@ -257,15 +266,10 @@ unsigned MipsFastISel::Materialize32BitI
>
>    if (isInt<16>(Imm)) {
>      unsigned Opc = Mips::ADDiu;
> -    BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Opc), ResultReg)
> -        .addReg(Mips::ZERO)
> -        .addImm(Imm);
> +    EmitInst(Opc, ResultReg).addReg(Mips::ZERO).addImm(Imm);
>      return ResultReg;
>    } else if (isUInt<16>(Imm)) {
> -    BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Mips::ORi),
> -            ResultReg)
> -        .addReg(Mips::ZERO)
> -        .addImm(Imm);
> +    EmitInst(Mips::ORi, ResultReg).addReg(Mips::ZERO).addImm(Imm);
>      return ResultReg;
>    }
>    unsigned Lo = Imm & 0xFFFF;
> @@ -273,16 +277,10 @@ unsigned MipsFastISel::Materialize32BitI
>    if (Lo) {
>      // Both Lo and Hi have nonzero bits.
>      unsigned TmpReg = createResultReg(RC);
> -    BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Mips::LUi),
> -            TmpReg).addImm(Hi);
> -    BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Mips::ORi),
> -            ResultReg)
> -        .addReg(TmpReg)
> -        .addImm(Lo);
> -
> +    EmitInst(Mips::LUi, TmpReg).addImm(Hi);
> +    EmitInst(Mips::ORi, ResultReg).addReg(TmpReg).addImm(Lo);
>    } else {
> -    BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, TII.get(Mips::LUi),
> -            ResultReg).addImm(Hi);
> +    EmitInst(Mips::LUi, ResultReg).addImm(Hi);
>    }
>    return ResultReg;
>  }
>
>
> _______________________________________________
> 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