[PATCH] D110745: Redefine deref(N) attribute family as point-in-time semantics (aka deref-at-point)

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 1 15:25:46 PDT 2021


reames added a comment.

In D110745#3035975 <https://reviews.llvm.org/D110745#3035975>, @nikic wrote:

> Sorry, but the fact that there is still no way to opt-in to the old behavior is still a blocker from my side. If we can't use `dereferenceable + nofree` arguments for that purpose, then we need to provide a different way to do that. Like `dereferenceable + really_nofree`. It looks like the current implementation doesn't even accept the `dereferenceable + nofree + noalias` case originally proposed (which is pretty bad from a design perspective, but would at least work fairly well for rustc in practice). I don't think that our current analysis capabilities are sufficient to land this change at this time.

@nikic Do you have any specific examples of where this causes a workload to regress?  At this point, I really need something specific as opposed to a general concern.  We're at the point where perfection is very much the enemy of the good here.  As noted, I've already spent a lot of time trying to minimize impact.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D110745



More information about the llvm-commits mailing list