[PATCH] D115615: [MemCpyOpt] Make capture check during call slot optimization more precise

Hans Wennborg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 18 08:42:09 PST 2022


hans added a comment.

In D115615#3243958 <https://reviews.llvm.org/D115615#3243958>, @hans wrote:

> Just an early heads up that we bisected a test regression in V8 to this: https://bugs.chromium.org/p/chromium/issues/detail?id=1287437
> It still needs more investigation, but it would be interesting to know if others have hit issues too.

https://bugs.chromium.org/p/chromium/issues/detail?id=1287437#c15 has the root cause. The problem is that the call slot optimization replaces a call argument without considering the call's !noalias metadata, introducing an aliasing violation. (Probably the optimization could be conservative and just drop the metadata if it exists).

I suspect this patch didn't actually introduce the problem, but rather made the optimization more likely to fire and so uncovered the pre-existing problem. In any case, I'll revert back to green until this can be fixed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D115615/new/

https://reviews.llvm.org/D115615



More information about the llvm-commits mailing list