[all-commits] [llvm/llvm-project] 322e7c: [docs] Update llvm.loop metadata documentation.
Michael Kruse via All-commits
all-commits at lists.llvm.org
Tue Jul 14 09:04:40 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 322e7cfab53ea8079a04a4f562530aafe6148f0e
https://github.com/llvm/llvm-project/commit/322e7cfab53ea8079a04a4f562530aafe6148f0e
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2020-07-14 (Tue, 14 Jul 2020)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[docs] Update llvm.loop metadata documentation.
Loop metadata nodes do not adhere to the documented property:
(a) LoopIDs are not unique: Any pass that duplicates IR will do it
including its metadata (e.g. LoopVersioning) such that multiple
loops are linked with the same LoopID. There is even a test case
(Transforms/LoopUnroll/unroll-pragmas-disabled.ll) for multiple
loops with the same LoopID.
(b) LoopIDs are not persistent: Adding or removing an item from a LoopID
can only be done by creating a new MDNode and assigning it to the
loop's branch(es). Passes such as LoopUnroll (llvm.loop.unroll.disable)
and LoopVectorize (llvm.loop.isvectorized) use this to mark loops to
not be transformed multiple times or to avoid that a LoopVersioned
original loop is transformed.
Update the documentation according to how llvm.loop is used in practice.
Differential Revision: https://reviews.llvm.org/D55290
More information about the All-commits
mailing list