[PATCH] D11710: [DSE] Enable removal of lifetime intrinsics in terminating blocks

Björn Steinbrink via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 11:59:12 PDT 2015


dotdash added inline comments.

================
Comment at: lib/Transforms/Scalar/DeadStoreElimination.cpp:781
@@ +780,3 @@
+      } else if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(BBI))
+        if (II->getIntrinsicID() == Intrinsic::lifetime_start) {
+          // We found a lifetime start for a live object, so we must stop
----------------
Oh, I only now realized that I need to move my check for lifetime start intrinsics that can't be removed down after the `isInstructionTriviallyDead` part. Otherwise we would stop removing lifetime intrinsics too soon. I'll update the patch accordingly and add a test case for lifetime intrinsics on undef pointers.


http://reviews.llvm.org/D11710





More information about the llvm-commits mailing list