Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MLIR][OpenMP] Update loop operations to use omp.loopnest #43

Commits on Mar 13, 2024

  1. [MLIR][OpenMP] Update loop operations to use omp.loopnest

    This patch updates the definition of all OpenMP loop operations
    (`omp.distribute`, `omp.parallel`, `omp.wsloop`, `omp.simdloop`,
    `omp.taskloop`) to expect a nested `omp.loopnest` and act as wrapper operations
    instead.
    
    Loop information is removed from these operations and their list of traits is
    updated to include a new common `LoopWrapperInterface`, as well as introducing
    `SingleBlockImplicitTerminator` traits to all but `omp.parallel`, which can be
    a wrapper in composite constructs but also define a regular code block.
    
    These changes make it so wrapper operations can only have a single region and
    block, and that it must only have a single compatible wrapper operation or
    canonical loop in addition to a terminator.
    
    Follow-up patches will update PFT to MLIR lowering to generate MLIR conforming
    to these new definitions for loops.
    skatrak committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    0553a46 View commit details
    Browse the repository at this point in the history