diff options
author | Michael Kruse <llvm-project@meinersbur.de> | 2020-07-14 10:58:49 -0500 |
---|---|---|
committer | Michael Kruse <llvm-project@meinersbur.de> | 2020-07-14 11:03:57 -0500 |
commit | 322e7cfab53ea8079a04a4f562530aafe6148f0e (patch) | |
tree | 5011b6fb917a267f1b16369e14d50b3bd540f6d0 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | |
parent | 2c2a297bb6d1ce9752a69c8c18a58eacc6d3f961 (diff) | |
download | llvm-322e7cfab53ea8079a04a4f562530aafe6148f0e.zip llvm-322e7cfab53ea8079a04a4f562530aafe6148f0e.tar.gz llvm-322e7cfab53ea8079a04a4f562530aafe6148f0e.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
0 files changed, 0 insertions, 0 deletions