doru1004 added inline comments.

================
Comment at: clang/lib/CodeGen/CodeGenFunction.h:2806
+  /// Return true if all the emissions for the VLA size have occured.
+  bool hasVLASize(const VariableArrayType *type);
+
----------------
doru1004 wrote:
> ABataev wrote:
> > doru1004 wrote:
> > > ABataev wrote:
> > > > doru1004 wrote:
> > > > > ABataev wrote:
> > > > > > doru1004 wrote:
> > > > > > > ABataev wrote:
> > > > > > > > 1. Is it possible that VariableArrayType does not have VLA size?
> > > > > > > > 2. Fix param name
> > > > > > > @ABataev How would point 1 happen?
> > > > > > You're adding a function that checks if VLA type has VLA size. I'm 
> > > > > > asking, if it is possible for VLA type to not have VLA size at all? 
> > > > > > Why do you need this function?
> > > > > This function checks if the expression of the size of the VLA has 
> > > > > already been emitted and can be used.
> > > > Why the emission of VLA size can be delayed?
> > > Because the size of the VLA is emitted in the user code and the prolog of 
> > > the function happens before that. The emission of the VLA needs to be 
> > > delayed until its size has been emitted in the user code.
> > This is very fragile approach. Can you try instead try to improve 
> > markAsEscaped function and fix insertion of VD to 
> > EscapedVariableLengthDecls and if the declaration is internal for the 
> > target region, insert it to DelayedVariableLengthDecls?
> I am not sure what the condition would be, at that point, to choose between 
> one list or the other. I'm not sure what you mean by the declaration being 
> internal to the target region.
Any thoughts? As far as I can tell all VLAs that reach that point belong in 
`DelayedVariableLengthDecls`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D153883

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

Reply via email to