[llvm-dev] SROA and volatile memcpy/memset

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Wed Nov 11 08:02:25 PST 2015


On 11/11/2015 9:57 AM, Hal Finkel wrote:
> ----- Original Message -----
>> From: "Krzysztof Parzyszek" <kparzysz at codeaurora.org>
>>
>> I'm not sure which part you are referring to.  The "volatileness" of
>> the
>> structure in question does not place the same restrictions on how we
>> can
>> access it as it would be in the case of a device access.  The broken
>> up
>> loads and stores are legal in the sense that they won't cause any
>> hardware issues, however they would take longer to execute because
>> the
>> resulting instructions would be marked as volatile and thus
>> "non-optimizable".
>
> How would TTI be used? DataLayout, for example, already has information on legal/preferred integer sizes. Would that help?

I was thinking about having some information about the preferred 
treatment of volatile memory intrinsics.  The problem in this case is 
that the aggregate is a union, which would make it harder to decide how 
the accesses should be formed.

-Krzysztof

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
hosted by The Linux Foundation


More information about the llvm-dev mailing list