MLIR 22.0.0git
OpenACCUtils.h File Reference
#include "mlir/Dialect/OpenACC/OpenACC.h"
#include "llvm/ADT/SmallVector.h"

Go to the source code of this file.

Namespaces

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

Functions

mlir::Operationmlir::acc::getEnclosingComputeOp (mlir::Region &region)
 Used to obtain the enclosing compute construct operation that contains the provided region.
bool mlir::acc::isOnlyUsedByPrivateClauses (mlir::Value val, mlir::Region &region)
 Returns true if this value is only used by acc.private operations in the region.
bool mlir::acc::isOnlyUsedByReductionClauses (mlir::Value val, mlir::Region &region)
 Returns true if this value is only used by acc.reduction operations in the region.
std::optional< ClauseDefaultValue > mlir::acc::getDefaultAttr (mlir::Operation *op)
 Looks for an OpenACC default attribute on the current operation op or in a parent operation which encloses op.
mlir::acc::VariableTypeCategory mlir::acc::getTypeCategory (mlir::Value var)
 Get the type category of an OpenACC variable.
std::string mlir::acc::getVariableName (mlir::Value v)
 Attempts to extract the variable name from a value by walking through view-like operations until an acc.var_name attribute is found.
std::string mlir::acc::getRecipeName (mlir::acc::RecipeKind kind, mlir::Type type)
 Get the recipe name for a given recipe kind and type.
mlir::Value mlir::acc::getBaseEntity (mlir::Value val)
bool mlir::acc::isValidSymbolUse (mlir::Operation *user, mlir::SymbolRefAttr symbol, mlir::Operation **definingOpPtr=nullptr)
 Check if a symbol use is valid for use in an OpenACC region.
llvm::SmallVector< mlir::Valuemlir::acc::getDominatingDataClauses (mlir::Operation *computeConstructOp, mlir::DominanceInfo &domInfo, mlir::PostDominanceInfo &postDomInfo)
 Collects all data clauses that dominate the compute construct.