Lines Matching full:attributes
34 Attributes can be attached to loops as described in :ref:`llvm.loop`.
35 Attributes can describe properties of the loop, disable transformations,
40 metadata), in order to add or remove a loop attributes, a new ``MDNode``
47 loop attributes, any ``llvm.mem.parallel_loop_access`` reference must be
53 Some attributes describe code transformations (unrolling, vectorizing,
85 After a transformation is applied, follow-up attributes are set on the
86 transformed and/or new loop(s). This allows additional attributes
104 If, and only if, no followup is specified, the pass may add attributes itself.
106 all attributes from the original loop excluding its loop vectorizer
107 attributes. To avoid this, an empty followup attribute can be used, e.g.
113 The followup attributes of a transformation that cannot be applied will
115 that any followup-transformation in such attributes requires that its
157 ``llvm.loop.vectorize.followup_vectorized`` will set the attributes for
159 combined with the original loop's attributes to avoid it being
162 ``llvm.loop.vectorize.followup_epilogue`` will set the attributes for
164 attributes combined with ``llvm.loop.isvectorized`` and
168 The attributes specified by ``llvm.loop.vectorize.followup_all`` are
172 attributes for the generated loop in question. Therefore it is
208 ``llvm.loop.unroll.followup_unrolled`` will set the loop attributes of
209 the unrolled loop. If not specified, the attributes of the original loop
210 without the ``llvm.loop.unroll.*`` attributes are copied and
213 ``llvm.loop.unroll.followup_remainder`` defines the attributes of the
215 attributes. The remainder loop might not be present due to being fully
218 Attributes defined in ``llvm.loop.unroll.followup_all`` are added to the
262 ``llvm.loop.unroll_and_jam.followup_outer`` will set the loop attributes
263 of the unrolled outer loop. If not specified, the attributes of the
264 original outer loop without the ``llvm.loop.unroll.*`` attributes are
267 ``llvm.loop.unroll_and_jam.followup_inner`` will set the loop attributes
268 of the unrolled inner loop. If not specified, the attributes of the
272 attributes of the outer remainder loop. If not specified it will not
273 have any attributes. The remainder loop might not be present due to
277 attributes of the inner remainder loop. If not specified it will have
278 the attributes of the original inner loop. It the outer remainder loop
281 Attributes defined in ``llvm.loop.unroll_and_jam.followup_all`` are
326 ``llvm.loop.distribute.followup_coincident`` sets the loop attributes of
329 inherit the original loop's attributes.
331 ``llvm.loop.distribute.followup_sequential`` sets the loop attributes of the
334 attributes.
336 ``llvm.loop.distribute.followup_fallback`` defines the loop attributes
339 all attributes from the original loop.
341 Attributes defined in ``llvm.loop.distribute.followup_all`` are added to
376 Currently, this transformation does not support followup-attributes.