xazax.hun added a comment.

> Here is the gist of one *new* TP:

Where would `sprops` get escaped? Did I miss that or was that reduced out of 
the example?

Overall, this looks like a hard nut to crack. Escaping too much or too little 
are both problematic, and we don't have the information we need to make the 
decision. The question is whether we want to make an absolute decision or come 
up with a heuristic like:

  static int* p;
  MyStruct reachable(&p);
  
  indirect(&reachable);
  direct(&p);

escaping when `direct` is called, but not escaping when `indirect` is called.

Do you see any patterns in the real-world results that would show a pattern? I 
am not opposed to making a change, but I wonder if we should start documenting 
these decisions somewhere that are likely need revision in the future when we 
have more data.  What do you think?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139534

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

Reply via email to