[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