[llvm-commits] [llvm] r113576 - in /llvm/trunk: lib/Target/ARM/ARMLoadStoreOptimizer.cpp test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll
Evan Cheng
evan.cheng at apple.com
Fri Sep 10 00:03:26 PDT 2010
On Sep 9, 2010, at 11:38 PM, Eric Christopher wrote:
>
> On Sep 9, 2010, at 10:15 PM, Bob Wilson wrote:
>
>> to use AddrMode4, there was a count of the registers stored in one of the
>> operands. I changed that to just count the operands but forgot to adjust for
>> the size of D registers. This was noticed by Evan as a performance problem
>> but it is a potential correctness bug as well, since it is possible that this
>> could merge a base update with a non-matching immediate.
>>
>> Modified:
>> llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
>> llvm/trunk/test/CodeGen/ARM/2007-01-19-InfiniteLoop.ll
>>
>> Modified: llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp?rev=113576&r1=113575&r2=113576&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp Fri Sep 10 00:15:04 2010
>> @@ -458,9 +458,10 @@
>> case ARM::t2STM:
>> case ARM::VLDMS:
>> case ARM::VSTMS:
>> + return (MI->getNumOperands() - 4) * 4;
>> case ARM::VLDMD:
>> case ARM::VSTMD:
>> - return (MI->getNumOperands() - 4) * 4;
>> + return (MI->getNumOperands() - 4) * 8;
>
> Perhaps less magic numbers?
Right. It probably should replace 4 with MI->getDesc().getNumOperands()-1.
Evan
>
> -eric
> _______________________________________________
> 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