Skip to content

OmpSupport::requireExactAssociatedLoop

Return the one exact loop owned by directive through expected_root. Every structural edge must be unique and parent‐consistent, and every wrapper must be admitted by path_contract. Malformed, ambiguous, cyclic, attributed, or semantically different wrapper paths are hard errors.

Synopsis

Declared in <src/midend/programTransformation/ompLowering/omp_lowering.h>

SgStatement*
requireExactAssociatedLoop(
    SgOmpBodyStatement* directive,
    SgStatement* expected_root,
    AssociatedLoopPathContract path_contract,
    char const* contract);

Return Value

This class represents the notion of a statement.

Parameters

Name

Description

expected_root

This class represents the notion of a statement.

path_contract

Typed allowlists for the structural path from an OpenMP directive's exact body edge to its associated loop. Worksharing and SIMD constructs permit only transparent singleton basic blocks. Loop transformations additionally permit nested, supported loop‐transformation directives; semantic OpenMP regions and attributed statements are never transparent wrappers.

Created with MrDocs