[all-commits] [llvm/llvm-project] 45a960: [Flang][OpenMP][MLIR] Add early outlining pass for...

Jan Sjodin via All-commits all-commits at lists.llvm.org
Thu Jul 13 06:18:18 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 45a9604417dbcb73d1b2fb3d7f8824a97d4b00c1
  Author: Jan Sjodin <jan_sjodin at yahoo.com>
  Date:   2023-07-13 (Thu, 13 Jul 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/ExternalNameConversion.cpp
    A flang/lib/Optimizer/Transforms/OMPEarlyOutlining.cpp
    A flang/test/Driver/omp-cse-region-boundary.f90
    M flang/test/Fir/external-mangling.fir
    A flang/test/Lower/OpenMP/omp-target-early-outlining.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPInterfaces.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/attr.mlir
    A mlir/test/Target/LLVMIR/omptarget-region-llvm-target-device.mlir

  Log Message:
  [Flang][OpenMP][MLIR] Add early outlining pass for omp.target operations to flang

This patch implements an early outlining transform of omp.target operations in
flang. The pass is needed because optimizations may cross target op region
boundaries, but with the outlining the resulting functions only contain a
single omp.target op plus a func.return, so there should not be any opportunity
to optimize across region boundaries.

The patch also adds an interface to be able to store and retrieve the parent
function name of the original target operation. This is needed to be able to
create correct kernel function names when lowering to LLVM-IR.

Reviewed By: kiranchandramohan, domada

Differential Revision: https://reviews.llvm.org/D154879

More information about the All-commits mailing list