[PATCH] D157499: [IR] Add dead_on_unwind attribute

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 15 13:37:19 PDT 2023


nikic planned changes to this revision.
nikic added a comment.

In D157499#4589610 <https://reviews.llvm.org/D157499#4589610>, @efriedma wrote:

> That seems close.  Not sure about the "dereferenceable region" bit; the concept makes sense, it's just not really compatible with the current meaning of "dereferenceable".  "dereferenceable" doesn't currently imply it's legal to write to a region in memory, only to read from it.  I think you need some other way to indicate it's safe to speculatively write to the memory.

Yeah, you're right. This is an existing issue in call slot optimization, and it probably makes sense to address this first: https://llvm.godbolt.org/z/xa5P7TEed As written this transform would only be valid if the call is also `willreturn`.

I think I'll propose a `writable` or so attribute first, and then return back to this.


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

https://reviews.llvm.org/D157499



More information about the llvm-commits mailing list