[llvm-commits] [llvm] r107114 - /llvm/trunk/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

Evan Cheng evan.cheng at apple.com
Tue Jun 29 18:03:54 PDT 2010


On Jun 29, 2010, at 1:39 PM, Jakob Stoklund Olesen wrote:

> 
> On Jun 28, 2010, at 10:46 PM, Evan Cheng wrote:
> 
>> 
>> On Jun 28, 2010, at 10:09 PM, Jakob Stoklund Olesen wrote:
>> 
>>> 
>>> On Jun 28, 2010, at 10:00 PM, Evan Cheng wrote:
>>> 
>>>> 
>>>> On Jun 28, 2010, at 6:13 PM, Jakob Stoklund Olesen wrote:
>>>> 
>>>>> Author: stoklund
>>>>> Date: Mon Jun 28 20:13:07 2010
>>>>> New Revision: 107114
>>>>> 
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=107114&view=rev
>>>>> Log:
>>>>> When no memoperands are present, assume unaligned, volatile.
>>>> 
>>>> Have you checked if this disabled a lot of potential optimizations? I am afraid assuming volatileness is overly conservative.
>>> 
>>> I haven't checked anything but running unit tests.
>>> 
>>> We need both non-volatile and 4-byte alignment to safely combine loads and stores. If memoperands are missing, I don't see any alternative. How else can we guarantee the optimization is valid?
>>> 
>>> If this causes missed optimizations, we should ensure that memory operands are present.
>> 
>> I agree. I am just wondering if that's indeed the case. Can you add a llc beta check to look for differences in # of load / store multiple optimizations?
> 
> I ran an assembly diff across the entire nightly test suite.
> 
> We lost 117 of 56783 ldms and 40 of 47702 stms.

Thanks. Can you file a bug about this? We should take a look.

Evan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100629/64c21e1f/attachment.html>


More information about the llvm-commits mailing list