MLIR  20.0.0git
Classes | Namespaces | Functions
ModuleTranslation.h File Reference
#include "mlir/Dialect/LLVMIR/LLVMInterfaces.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/IR/Value.h"
#include "mlir/Target/LLVMIR/Export.h"
#include "mlir/Target/LLVMIR/LLVMTranslationInterface.h"
#include "mlir/Target/LLVMIR/TypeToLLVM.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Frontend/OpenMP/OMPIRBuilder.h"

Go to the source code of this file.

Classes

class  mlir::LLVM::ModuleTranslation
 Implementation class for module translation. More...
 
class  mlir::LLVM::ModuleTranslation::StackFrame
 Common CRTP base class for ModuleTranslation stack frames. More...
 
class  mlir::LLVM::ModuleTranslation::StackFrameBase< Derived >
 Concrete CRTP base class for ModuleTranslation stack frames. More...
 
struct  mlir::LLVM::ModuleTranslation::SaveStack< T >
 RAII object calling stackPush/stackPop on construction/destruction. More...
 
struct  llvm::isa_impl< T, ::mlir::LLVM::ModuleTranslation::StackFrame >
 

Namespaces

 llvm
 The OpAsmOpInterface, see OpAsmInterface.td for more details.
 
 mlir
 Include the generated interface declarations.
 
 mlir::LLVM
 
 mlir::LLVM::detail
 

Functions

void mlir::LLVM::detail::connectPHINodes (Region &region, const ModuleTranslation &state)
 For all blocks in the region that were converted to LLVM IR using the given ModuleTranslation, connect the PHI nodes of the corresponding LLVM IR blocks to the results of preceding blocks. More...
 
llvm::Constant * mlir::LLVM::detail::getLLVMConstant (llvm::Type *llvmType, Attribute attr, Location loc, const ModuleTranslation &moduleTranslation)
 Create an LLVM IR constant of llvmType from the MLIR attribute attr. More...
 
llvm::CallInst * mlir::LLVM::detail::createIntrinsicCall (llvm::IRBuilderBase &builder, llvm::Intrinsic::ID intrinsic, ArrayRef< llvm::Value * > args={}, ArrayRef< llvm::Type * > tys={})
 Creates a call to an LLVM IR intrinsic function with the given arguments. More...
 
llvm::CallInst * mlir::LLVM::detail::createIntrinsicCall (llvm::IRBuilderBase &builder, ModuleTranslation &moduleTranslation, Operation *intrOp, llvm::Intrinsic::ID intrinsic, unsigned numResults, ArrayRef< unsigned > overloadedResults, ArrayRef< unsigned > overloadedOperands, ArrayRef< unsigned > immArgPositions, ArrayRef< StringLiteral > immArgAttrNames)
 Creates a call to a LLVM IR intrinsic defined by LLVM_IntrOpBase. More...