[PATCH] D85393: [WIP] [IR] Adding noprogress as a LLVM IR attribute

Johannes Doerfert via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 6 12:08:19 PDT 2020


jdoerfert added a comment.

In D85393#2200054 <https://reviews.llvm.org/D85393#2200054>, @RalfJung wrote:

>> Either should do the trick after a while given that all optimizations need to preserve/handle attribute already, you cannot just drop them and so noprogress should be sufficient.
>
> Ah, I thought so far attributes were always safe to drop. If that is not the case, what remains is the possible confusion on our side when having to talk about "noprogress" and no-"noprogress" functions, and the asymmetry with most (but seemingly not all) existing attributes.

Just FYI, `convergent` is one that cannot be dropped. Also `naked`, `nobuiltin`, `noduplicate`, `noimplicitfloat`, `null_pointer_is_valid`, ... and some of them have to survive inlining already as well.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D85393



More information about the llvm-commits mailing list