lxfind added inline comments.

================
Comment at: clang/lib/CodeGen/CGDecl.cpp:1318
 /// otherwise
 llvm::Value *CodeGenFunction::EmitLifetimeStart(uint64_t Size,
                                                 llvm::Value *Addr) {
----------------
ChuanqiXu wrote:
> Can we sure frontend would always call this API to emit lifetime start? I 
> mean the frontend may call EmitIntrinsic or create lifetime.start intrinsic 
> directly whether by IRBuilder::CreateXXX or Instrinsic::Create(...). I worry 
> about if this would incur changes out of design.
> 
> Then if we add check in EmitLifetimeStart, why not we add check in 
> EmitLfietimeEnd?
I searched in the codebase, and we always call this API to emit lifetime start 
in the front-end.
Also, for coroutine to behave correctly, we really only need SD_FullExpression 
to be able to emit it. Other cases are less critical.

Usually when it emits a LifetimeStart instruction, it will store it somewhere, 
and latter check on it to decide whether it needs to emit a lifetime end. 
That's when there is no checks needed for lifetime end.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99227

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to