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

Jakob Stoklund Olesen stoklund at 2pi.dk
Tue Jun 29 13:39:16 PDT 2010


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.







More information about the llvm-commits mailing list