ΒΆOptional<llvm::MDNode*> makeFollowupLoopID(
    llvm::MDNode* OrigLoopID,
    ArrayRef<llvm::StringRef> FollowupAttrs,
    const char* InheritOptionsAttrsPrefix = "",
    bool AlwaysNew = false)

Description

Create a new loop identifier for a loop created from a loop transformation.

Declared at: llvm/include/llvm/Transforms/Utils/LoopUtils.h:257

Parameters

llvm::MDNode* OrigLoopID
The loop ID of the loop before the transformation.
ArrayRef<llvm::StringRef> FollowupAttrs
List of attribute names that contain attributes to be added to the new loop ID.
const char* InheritOptionsAttrsPrefix = ""
Selects which attributes should be inherited from the original loop. The following values are considered: nullptr : Inherit all attributes from @p OrigLoopID. "" : Do not inherit any attribute from @p OrigLoopID; only use those specified by a followup attribute. "<prefix>": Inherit all attributes except those which start with <prefix >; commonly used to remove metadata for the applied transformation.
bool AlwaysNew = false
If true, do not try to reuse OrigLoopID and never return None.

Returns

The loop ID for the after-transformation loop. The following values can be returned: None : No followup attribute was found; it is up to the transformation to choose attributes that make sense.@p OrigLoopID: The original identifier can be reused. nullptr : The new loop has no attributes. MDNode* : A new unique loop identifier.