[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 13:02:41 PST 2010


On Dec 6, 2010, at 12:50 PM, Duncan Sands wrote:

> Hi Chris,
> 
>>> 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.
> 
> if you can prove that they overlap, I guess you can assume that they are
> identical and remove the memcpy.

Yes, we do that.

-Chris



More information about the llvm-commits mailing list