MLIR 23.0.0git
OpenACCUtilsCG.h File Reference
#include "mlir/Dialect/OpenACC/OpenACC.h"
#include "mlir/IR/IRMapping.h"
#include "mlir/Interfaces/DataLayoutInterfaces.h"
#include "llvm/ADT/SmallVector.h"
#include <optional>

Go to the source code of this file.

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::acc

Functions

std::optional< DataLayoutmlir::acc::getDataLayout (Operation *op, bool allowDefault=true)
 Get the data layout for an operation.
ComputeRegionOp mlir::acc::buildComputeRegion (Location loc, ValueRange launchArgs, ValueRange inputArgs, llvm::StringRef origin, Region &regionToClone, RewriterBase &rewriter, IRMapping &mapping, ValueRange output={}, FlatSymbolRefAttr kernelFuncName={}, FlatSymbolRefAttr kernelModuleName={}, Value stream={}, ValueRange inputArgsToMap={})
 Build an acc.compute_region operation by cloning a source region.
void mlir::acc::insertParDim (llvm::SmallVector< GPUParallelDimAttr > &parDims, GPUParallelDimAttr parDim)
 Insert parDim into parDims while preserving dimension ordering.
void mlir::acc::removeParDim (llvm::SmallVector< GPUParallelDimAttr > &parDims, GPUParallelDimAttr parDim)
 Remove parDim from parDims if present.
GPUParallelDimsAttr mlir::acc::getParDimsAttr (Operation *op)
 Obtain the parallel dimensions carried by op, if any.
bool mlir::acc::hasParDimsAttr (Operation *op)
 Return whether op carries parallel dimensions.
bool mlir::acc::hasSeqParDims (Operation *op)
 Return whether op carries sequential parallel dimensions.
void mlir::acc::setParDimsAttr (Operation *op, GPUParallelDimsAttr attr)
 Set parallel dimensions on op.
void mlir::acc::updateParDimsAttr (Operation *op, GPUParallelDimsAttr attr)
 Update parallel dimensions on op.
void mlir::acc::copyParDimsAttr (Operation *from, Operation *to)
 Copy parallel dimensions from from to to.