[llvm-commits] [llvm] r99928 - in /llvm/trunk: include/llvm/ include/llvm/CodeGen/ include/llvm/Support/ include/llvm/Target/ include/llvm/Transforms/Utils/ lib/CodeGen/SelectionDAG/ lib/Target/ARM/ lib/Target/PowerPC/ lib/Target/X86/ lib/Target/XCore/ lib/Transforms/InstCombine/ lib/Transforms/Scalar/ lib/Transforms/Utils/ lib/VMCore/ test/Analysis/BasicAA/ test/Transforms/InstCombine/ test/Transforms/MemCpyOpt/ test/Transforms/SimplifyLibCalls/ test/Verifier/
Chris Lattner
clattner at apple.com
Tue Mar 30 23:11:55 PDT 2010
On Mar 30, 2010, at 10:33 PM, Duncan Sands wrote:
> Hi Chris,
>
>>> I'm trying to imagine situations in which a volatile mem* call is useful, but I
>>> didn't come up with anything very convincing yet. Can you please explain what
>>> you have in mind.
>>
>> volatile struct foo X, Y;
>>
>> X = Y;
>>
>> Should lower to a 'volatile memcpy'.
>
> shouldn't it load to a series of field by field volatile copies?
Not if it is large. C doesn't specify what to do here.
-Chris
More information about the llvm-commits
mailing list