[PATCH] D48239: [LangRef] Clarify meaning of "dereferencable" attribute/metadata.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 9 17:55:13 PDT 2018


efriedma added a comment.

PointerMayBeCaptured doesn't do the right thing.  The primary issue is that it only walks the uses of the argument; other pointers could alias the argument if it isn't also noalias.  (The other issue is that freeing a pointer doesn't count as capturing it.)

So instead, we have to scan every instruction in the function between the beginning of the function and the insertion point, which is going to be very expensive.  (Or if we set a tight limit on the number of instructions it will walk, it probably give up before it reaches the function's entry point.)


Repository:
  rL LLVM

https://reviews.llvm.org/D48239





More information about the llvm-commits mailing list