[MemCpyOpt] Avoid moving lifetime marker above def (PR58903)
authorNikita Popov <npopov@redhat.com>
Fri, 11 Nov 2022 14:05:11 +0000 (15:05 +0100)
committerNikita Popov <npopov@redhat.com>
Fri, 11 Nov 2022 14:06:34 +0000 (15:06 +0100)
commit4d33cf4166f9a4438cb36ab60502eef7affd7df2
tree68371d63caa43e9daf7f9e55a1b3b60e0815b2b5
parente000c2bce75ec59782e1a2459c4db6d7a996590c
[MemCpyOpt] Avoid moving lifetime marker above def (PR58903)

This is unlikely to happen with opaque pointers, so just bail out
of the transform, rather than trying to move bitcasts/etc as well.

Fixes https://github.com/llvm/llvm-project/issues/58903.
llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
llvm/test/Transforms/MemCpyOpt/lifetime.ll