[PATCH] D86233: [LangRef] Define mayprogress attribute

Hal Finkel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 4 09:22:18 PDT 2020


hfinkel added a comment.

In D86233#2256648 <https://reviews.llvm.org/D86233#2256648>, @RalfJung wrote:

> In D86233#2256563 <https://reviews.llvm.org/D86233#2256563>, @jdoerfert wrote:
>
>> In D86233#2256076 <https://reviews.llvm.org/D86233#2256076>, @RalfJung wrote:
>>
>>> Shouldn't it be "maynotprogress" (or "maybenoprogress" or so)? *Every* function *may* progress, but only those with this marker are also allowed to not "make progress".
>>
>> The way to read it is:
>> Every function *mustmakeprogress* unless it has the *mayprogress* attribute.
>>
>> So "may" is either they do or they don't, both are fine.
>> And, "must" means they have to or UB.
>
> I understand. But this is not how the word "may" is usually used. When I say "you may do X", that typically implies that usually, X is not a thing you may do.
> This can certainly be explained away, but the first impression people are going to have before reading the docs is likely going to be wrong.

I agree. maynotprogress is more self explanatory.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86233



More information about the llvm-commits mailing list