NoQ added a comment.

In D77229#1983693 <https://reviews.llvm.org/D77229#1983693>, 
@baloghadamsoftware wrote:

> I am trying to understand where I have to implement this but I have some 
> problems. The first is that when a function is not inlined it does not have a 
> `StackFrameContext`. What to use instead? I usually try to use the caller's 
> stack frame but it seems to be incorrect and causes assertions. Or should we 
> create a stack frame for non-inlined functions as well?


Even if the function is inlined, we need the stack frame context before it's 
actually created (in fact, it's needed even before we construct the arguments). 
The whole point of D49443 <https://reviews.llvm.org/D49443> was to learn how to 
pro-actively create stack frame contexts and lifetime-extend it back in time so 
that they were live until the call starts (where they actually become live). 
This part doesn't really change in your case.

> For using the same `FunctionDecl`: would it help if we always use the "first" 
> `Decl` in the chain?

The word you're looking for is "canonical decl". The difficulty is not finding 
such decl but it's making sure it's used consistently, otherwise you won't be 
able to look up the parameter.


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

https://reviews.llvm.org/D77229



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

Reply via email to