[llvm-commits] [llvm] r170673 - in /llvm/trunk/lib/Target/Mips: Mips16RegisterInfo.cpp MipsInstrInfo.td

reed kotler rkotler at mips.com
Thu Dec 20 16:47:06 PST 2012


Fixed in r170822

On 12/20/2012 06:08 AM, Hal Finkel wrote:
> ----- Original Message -----
>> From: "Reed Kotler" <rkotler at mips.com>
>> To: llvm-commits at cs.uiuc.edu
>> Sent: Thursday, December 20, 2012 12:57:00 AM
>> Subject: [llvm-commits] [llvm] r170673 - in /llvm/trunk/lib/Target/Mips: Mips16RegisterInfo.cpp MipsInstrInfo.td
>>
>> Author: rkotler
>> Date: Thu Dec 20 00:57:00 2012
>> New Revision: 170673
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=170673&view=rev
>> Log:
>> There is one more patch to finish large frames. Make sure we assert
>> on code that has large frames which will not yet compile correctly.
>>
>>
>> Modified:
>>      llvm/trunk/lib/Target/Mips/Mips16RegisterInfo.cpp
>>      llvm/trunk/lib/Target/Mips/MipsInstrInfo.td
>>
>> Modified: llvm/trunk/lib/Target/Mips/Mips16RegisterInfo.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/Mips16RegisterInfo.cpp?rev=170673&r1=170672&r2=170673&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/Mips16RegisterInfo.cpp (original)
>> +++ llvm/trunk/lib/Target/Mips/Mips16RegisterInfo.cpp Thu Dec 20
>> 00:57:00 2012
>> @@ -146,6 +146,10 @@
>>   
>>     DEBUG(errs() << "Offset     : " << Offset << "\n" <<
>>     "<--------->\n");
>>   
>> +  if (!MI.isDebugValue() && ( ((FrameReg != Mips::SP) &&
>> !isInt<16>(Offset)) ||
>> +      ((FrameReg == Mips::SP) && !isInt<15>(Offset)) )) {
>> +    assert(false && "frame offset does not fit in instruction");
> use llvm_unreachable here.
>
>   -Hal
>
>> +  }
>>     MI.getOperand(OpNo).ChangeToRegister(FrameReg, false);
>>     MI.getOperand(OpNo + 1).ChangeToImmediate(Offset);
>>   
>>
>> Modified: llvm/trunk/lib/Target/Mips/MipsInstrInfo.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrInfo.td?rev=170673&r1=170672&r2=170673&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/MipsInstrInfo.td (original)
>> +++ llvm/trunk/lib/Target/Mips/MipsInstrInfo.td Thu Dec 20 00:57:00
>> 2012
>> @@ -298,6 +298,10 @@
>>   // e.g. addi, andi
>>   def immSExt16  : PatLeaf<(imm), [{ return
>>   isInt<16>(N->getSExtValue()); }]>;
>>   
>> +// Node immediate fits as 15-bit sign extended on target immediate.
>> +// e.g. addi, andi
>> +def immSExt15  : PatLeaf<(imm), [{ return
>> isInt<15>(N->getSExtValue()); }]>;
>> +
>>   // Node immediate fits as 16-bit zero extended on target immediate.
>>   // The LO16 param means that only the lower 16 bits of the node
>>   // immediate are caught.
>>
>>
>> _______________________________________________
>> 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