[llvm-commits] [llvm] r51636 - in /llvm/trunk: lib/Transforms/Scalar/InstructionCombining.cpp test/Transforms/InstCombine/memmove.ll
Duncan Sands
baldrick at free.fr
Wed May 28 11:41:14 PDT 2008
> I guess the case that matters is when the CFE turns volatile struct
> assignment into a memcpy. We should probably add a isvolatile flag to
> llvm.memcpy/memmove/memset just for completeness.
How about just outputting an explicit loop in that case?
Also, someone assigning volatile structs probably has
wrong expectations anyway: memcpy may copy the struct
a byte at a time while they are probably hoping for
field-at-a-time. For example they probably expect
integer fields to be written using one processor
operation (resulting in a consistent view of the
integer from other processors) but that may not be what
they get...
Ciao,
Duncan.
More information about the llvm-commits
mailing list