================ @@ -1343,6 +1343,11 @@ llvm::Value *CodeGenFunction::EmitLifetimeStart(llvm::TypeSize Size, if (!ShouldEmitLifetimeMarkers) return nullptr; + // No lifetimes on promise alloca, or middle end passes will assume promise + // dead after lifetime.end, leading to mis-optimization + if (Addr->getName() == "__promise") ---------------- NewSigma wrote:
Thank you for catching that. I've now used VarDecl::getName and tested it on non-assert builds. https://github.com/llvm/llvm-project/pull/140548 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits