[PATCH] D118168: [LLVM] Introduce llvm.loop.finite metadata to represent loops which are known to iterate a finite number of times

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 28 04:32:51 PST 2022


lebedev.ri added a comment.

In D118168#3277166 <https://reviews.llvm.org/D118168#3277166>, @jdoerfert wrote:

> In D118168#3277126 <https://reviews.llvm.org/D118168#3277126>, @wsmoses wrote:
>
>> In D118168#3277051 <https://reviews.llvm.org/D118168#3277051>, @jdoerfert wrote:
>>
>>> I think this is generally sensible but lacks tests and a clear path towards usage. Who will produce the annotation?
>>
>> I think there are several target producers. For example, in here (https://github.com/llvm/llvm-project/issues/51103) an OpenMP for loop can produce it.
>
> Can produce it, maybe yes. Now we should also have that setup or at least planned as we otherwise have no test coverage (esp. given the lack of tests).

Hm, now that i actually did read the spec, no, this absolutely will not help that issue, or any of OpenMP sugar:
https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5-2.pdf

  12 4.3 Structured Blocks
  13 This section specifies the concept of a structured block. A structured block:
  14 • may contain infinite loops where the point of exit is never reached;

So helper functions that are used to outline the OpenMP structured block can **not** be `mustprogress`/`willreturn`/`loop.finite`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D118168



More information about the llvm-commits mailing list