[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