[llvm-commits] [llvm] r120974 - in /llvm/trunk: include/llvm/Analysis/AliasAnalysis.h lib/Transforms/Scalar/DeadStoreElimination.cpp test/Transforms/DeadStoreElimination/simple.ll

Chris Lattner clattner at apple.com
Mon Dec 6 12:37:31 PST 2010


On Dec 6, 2010, at 11:56 AM, Duncan Sands wrote:

> I always used to think that GCC used builtin_memcpy, which it lowered to its own
> memcpy implementation rather than calling the system memcpy, and so was not
> subject to the whims of funky system memcpy implementations.  But I just took a
> look and it seems that I was wrong and the system memcpy may be used :)
> 
> By the way, presumably when the optimizers see a memcpy of a pointer to itself
> it removes the memcpy if it is non-volatile.

Right, it does, but the problem is that you can have memcpy(a <- b) in which a and b can be aliased, but aren't provably identical.

-Chris



More information about the llvm-commits mailing list