[llvm] r183314 - ARMInstrInfo: Improve isSwiftFastImmShift

Arnold aschwaighofer at apple.com
Wed Jun 5 14:04:35 PDT 2013


No test case - will be used by upcoming swift scheduler model changes.

On Jun 5, 2013, at 3:07 PM, Matt Beaumont-Gay <matthewbg at google.com> wrote:

> Test case?
> 
> On Wed, Jun 5, 2013 at 7:59 AM, Arnold Schwaighofer
> <aschwaighofer at apple.com> wrote:
>> Author: arnolds
>> Date: Wed Jun  5 09:59:36 2013
>> New Revision: 183314
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=183314&view=rev
>> Log:
>> ARMInstrInfo: Improve isSwiftFastImmShift
>> 
>> An instruction with less than 3 inputs is trivially a fast immediate shift.
>> 
>> Reapply of 183256, should not have caused the tablegen segfault on linux either.
>> 
>> Modified:
>>    llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
>> 
>> Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=183314&r1=183313&r2=183314&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Wed Jun  5 09:59:36 2013
>> @@ -4152,6 +4152,8 @@ bool ARMBaseInstrInfo::hasNOP() const {
>> }
>> 
>> bool ARMBaseInstrInfo::isSwiftFastImmShift(const MachineInstr *MI) const {
>> +  if (MI->getNumOperands() < 4)
>> +    return true;
>>   unsigned ShOpVal = MI->getOperand(3).getImm();
>>   unsigned ShImm = ARM_AM::getSORegOffset(ShOpVal);
>>   // Swift supports faster shifts for: lsl 2, lsl 1, and lsr 1.
>> 
>> 
>> _______________________________________________
>> 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