MLIR  14.0.0git
Classes | Namespaces | Functions
ModuleTranslation.h File Reference
#include "mlir/IR/Operation.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"
Include dependency graph for ModuleTranslation.h:
This graph shows which files directly or indirectly include this file:

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
 
 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...
 
SetVector< Block * > mlir::LLVM::detail::getTopologicallySortedBlocks (Region &region)
 Get a topologically sorted list of blocks of the given region. More...
 
llvm::Constant * mlir::LLVM::detail::getLLVMConstant (llvm::Type *llvmType, Attribute attr, Location loc, const ModuleTranslation &moduleTranslation, bool isTopLevel=true)
 Create an LLVM IR constant of llvmType from the MLIR attribute attr. More...
 
llvm::Value * 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...