[llvm] r210413 - start to clean up buildMI calls in mips fast-isel
Eric Christopher
echristo at gmail.com
Thu Jun 12 13:21:58 PDT 2014
On Thu, Jun 12, 2014 at 1:13 PM, reed kotler <rkotler at mips.com> wrote:
> On 06/12/2014 11:37 AM, Eric Christopher wrote:
>>
>> 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.
>
> Sorry. This was a mistake in my use of phabricator.
> By default it copies all these local git commit messages that are not useful
> for anyone to read into the phabricator log which then gets pumped into the
> svn commit summary.
> I have to remember to delete them but I forgot to. I'm a phabricator
> newbie.
>
Yeah, sorry, I'm a few days behind and noticed the thread after I'd sent this.
Of course, you could just put them into phab ready for commit ;)
-eric
> Reed
>
>
>> -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