[PATCH] D23937: [MemCpyOpt] Return value `memcpy` elision.

bryant via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 09:33:44 PDT 2016


bryant added a comment.

I am no longer as certain about the usefulness of this transformation. For
starters, it's only valid for nounwind functions. If the memcpy is elided in
function that's allowed to throw, it's possible for control to leave that
function after part of sret is written (contrast with the non-elided version of
the function that would leave sret untouched).

Furthermore, the memcpy would (theoretically) be elided anyway after inlining,
so it seems sensible to redirect effort to fixing elision in the inlined cases.
Since the elision is imperfect in actual inlining cases, I've created
https://reviews.llvm.org/D25175 .


Repository:
  rL LLVM

https://reviews.llvm.org/D23937





More information about the llvm-commits mailing list