[cfe-commits] r133261 - in /cfe/trunk: lib/CodeGen/CGExprAgg.cpp test/CodeGen/compound-literal.c
clattner at apple.com
Fri Jun 17 09:46:49 PDT 2011
On Jun 17, 2011, at 9:37 AM, Douglas Gregor wrote:
> I'm deeply suspicious of AggExprEmitter::VisitBinAssign()'s
> optimization where it emits the RHS of an aggregate assignment
> directly into the LHS lvalue without checking whether there is any
> aliasing between the LHS/RHS. However, I'm not in a position to
> revisit this now.
FWIW, it is making the assumption that the LHS/RHS either don't alias, or that they *exactly* alias. The LLVM optimizer (and gcc fwiw) make the assumption that memcpy(X,X, ...) is safe.
More information about the cfe-commits