MLIR 22.0.0git
mlir::LLVM::ModuleTranslation Class Reference

Implementation class for module translation. More...

#include "mlir/Target/LLVMIR/ModuleTranslation.h"

Public Types

template<typename T>
using SaveStack = SaveStateStack<T, ModuleTranslation>
 RAII object calling stackPush/stackPop on construction/destruction.

Public Member Functions

void mapFunction (StringRef name, llvm::Function *func)
 Stores the mapping between a function name and its LLVM IR representation.
llvm::Function * lookupFunction (StringRef name) const
 Finds an LLVM IR function by its name.
void mapValue (Value mlir, llvm::Value *llvm)
 Stores the mapping between an MLIR value and its LLVM IR counterpart.
llvm::Value *& mapValue (Value value)
 Provides write-once access to store the LLVM IR value corresponding to the given MLIR value.
llvm::Value * lookupValue (Value value) const
 Finds an LLVM IR value corresponding to the given MLIR value.
SmallVector< llvm::Value * > lookupValues (ValueRange values)
 Looks up remapped a list of remapped values.
void mapBlock (Block *mlir, llvm::BasicBlock *llvm)
 Stores the mapping between an MLIR block and LLVM IR basic block.
llvm::BasicBlock * lookupBlock (Block *block) const
 Finds an LLVM IR basic block that corresponds to the given MLIR block.
llvm::CanonicalLoopInfo * lookupOMPLoop (omp::NewCliOp mlir) const
 Find the LLVM-IR loop that represents an MLIR loop.
llvm::CanonicalLoopInfo * lookupOMPLoop (Value mlir) const
 Find the LLVM-IR loop that represents an MLIR loop.
void invalidateOmpLoop (omp::NewCliOp mlir)
 Mark an OpenMP loop as having been consumed.
void invalidateOmpLoop (Value mlir)
 Mark an OpenMP loop as having been consumed.
void mapOmpLoop (omp::NewCliOp mlir, llvm::CanonicalLoopInfo *llvm)
 Map an MLIR OpenMP dialect CanonicalLoopInfo to its lowered LLVM-IR OpenMPIRBuilder CanonicalLoopInfo.
void mapOmpLoop (Value mlir, llvm::CanonicalLoopInfo *llvm)
 Map an MLIR OpenMP dialect CanonicalLoopInfo to its lowered LLVM-IR OpenMPIRBuilder CanonicalLoopInfo.
void mapBranch (Operation *mlir, llvm::Instruction *llvm)
 Stores the mapping between an MLIR operation with successors and a corresponding LLVM IR instruction.
llvm::Instruction * lookupBranch (Operation *op) const
 Finds an LLVM IR instruction that corresponds to the given MLIR operation with successors.
void mapCall (Operation *mlir, llvm::CallInst *llvm)
 Stores a mapping between an MLIR call operation and a corresponding LLVM call instruction.
llvm::CallInst * lookupCall (Operation *op) const
 Finds an LLVM call instruction that corresponds to the given MLIR call operation.
void mapUnresolvedBlockAddress (BlockAddressOp op, llvm::Value *cst)
 Maps a blockaddress operation to its corresponding placeholder LLVM value.
void mapBlockAddress (BlockAddressAttr attr, llvm::BasicBlock *block)
 Maps a BlockAddressAttr to its corresponding LLVM basic block.
llvm::BasicBlock * lookupBlockAddress (BlockAddressAttr attr) const
 Finds the LLVM basic block that corresponds to the given BlockAddressAttr.
void forgetMapping (Region &region)
 Removes the mapping for blocks contained in the region and values defined in these blocks.
llvm::MDNode * getOrCreateAliasScope (AliasScopeAttr aliasScopeAttr)
 Returns the LLVM metadata corresponding to a mlir LLVM dialect alias scope attribute.
llvm::MDNode * getOrCreateAliasScopes (ArrayRef< AliasScopeAttr > aliasScopeAttrs)
 Returns the LLVM metadata corresponding to an array of mlir LLVM dialect alias scope attributes.
void setAccessGroupsMetadata (AccessGroupOpInterface op, llvm::Instruction *inst)
void setAliasScopeMetadata (AliasAnalysisOpInterface op, llvm::Instruction *inst)
void setTBAAMetadata (AliasAnalysisOpInterface op, llvm::Instruction *inst)
 Sets LLVM TBAA metadata for memory operations that have TBAA attributes.
void setDereferenceableMetadata (DereferenceableOpInterface op, llvm::Instruction *inst)
 Sets LLVM dereferenceable metadata for operations that have dereferenceable attributes.
void setBranchWeightsMetadata (WeightedBranchOpInterface op)
 Sets LLVM profiling metadata for operations that have branch weights.
void setLoopMetadata (Operation *op, llvm::Instruction *inst)
 Sets LLVM loop metadata for branch operations that have a loop annotation attribute.
void setDisjointFlag (Operation *op, llvm::Value *value)
 Sets the disjoint flag attribute for the exported instruction value given the original operation op.
llvm::Type * convertType (Type type)
 Converts the type from MLIR LLVM dialect to LLVM.
MLIRContextgetContext ()
 Returns the MLIR context of the module being translated.
llvm::LLVMContext & getLLVMContext () const
 Returns the LLVM context in which the IR is being constructed.
llvm::GlobalValue * lookupGlobal (Operation *op)
 Finds an LLVM IR global value that corresponds to the given MLIR operation defining a global value.
llvm::GlobalValue * lookupAlias (Operation *op)
 Finds an LLVM IR global value that corresponds to the given MLIR operation defining a global alias value.
llvm::GlobalValue * lookupIFunc (Operation *op)
 Finds an LLVM IR global value that corresponds to the given MLIR operation defining an IFunc.
llvm::OpenMPIRBuilder * getOpenMPBuilder ()
 Returns the OpenMP IR builder associated with the LLVM IR module being constructed.
llvm::Module * getLLVMModule ()
 Returns the LLVM module in which the IR is being constructed.
llvm::DILocation * translateLoc (Location loc, llvm::DILocalScope *scope)
 Translates the given location.
llvm::DIExpression * translateExpression (LLVM::DIExpressionAttr attr)
 Translates the given LLVM DWARF expression metadata.
llvm::DIGlobalVariableExpression * translateGlobalVariableExpression (LLVM::DIGlobalVariableExpressionAttr attr)
 Translates the given LLVM global variable expression metadata.
llvm::Metadata * translateDebugInfo (LLVM::DINodeAttr attr)
 Translates the given LLVM debug info metadata.
llvm::RoundingMode translateRoundingMode (LLVM::RoundingMode rounding)
 Translates the given LLVM rounding mode metadata.
llvm::fp::ExceptionBehavior translateFPExceptionBehavior (LLVM::FPExceptionBehavior exceptionBehavior)
 Translates the given LLVM FP exception behavior metadata.
LogicalResult convertBlock (Block &bb, bool ignoreArguments, llvm::IRBuilderBase &builder)
 Translates the contents of the given block to LLVM IR using this translator.
LogicalResult convertArgAndResultAttrs (ArgAndResultAttrsOpInterface attrsOp, llvm::CallBase *call, ArrayRef< unsigned > immArgPositions={})
 Converts argument and result attributes from attrsOp to LLVM IR attributes on the call instruction.
llvm::NamedMDNode * getOrInsertNamedModuleMetadata (StringRef name)
 Gets the named metadata in the LLVM IR module being constructed, creating it if it does not exist.
template<typename T, typename... Args>
void stackPush (Args &&...args)
 Creates a stack frame of type T on ModuleTranslation stack.
void stackPop ()
 Pops the last element from the ModuleTranslation stack.
template<typename T>
WalkResult stackWalk (llvm::function_ref< WalkResult(T &)> callback)
 Calls callback for every ModuleTranslation stack frame of type T starting from the top of the stack.
SymbolTableCollectionsymbolTable ()

Friends

std::unique_ptr< llvm::Module > mlir::translateModuleToLLVMIR (Operation *, llvm::LLVMContext &, StringRef, bool)

Detailed Description

Implementation class for module translation.

Holds a reference to the module being translated, and the mappings between the original and the translated functions, basic blocks and values. It is practically easier to hold these mappings in one class since the conversion of control flow operations needs to look up block and function mappings.

Definition at line 64 of file ModuleTranslation.h.

Member Typedef Documentation

◆ SaveStack

RAII object calling stackPush/stackPop on construction/destruction.

Definition at line 348 of file ModuleTranslation.h.

Member Function Documentation

◆ convertArgAndResultAttrs()

LogicalResult ModuleTranslation::convertArgAndResultAttrs ( ArgAndResultAttrsOpInterface attrsOp,
llvm::CallBase * call,
ArrayRef< unsigned > immArgPositions = {} )

Converts argument and result attributes from attrsOp to LLVM IR attributes on the call instruction.

Returns failure if conversion fails. The immArgPositions parameter is only relevant for intrinsics. It specifies the positions of immediate arguments, which do not have associated argument attributes in MLIR and should be skipped during attribute mapping.

Definition at line 1762 of file ModuleTranslation.cpp.

References ArrayAttr(), and success().

Referenced by convertCallLLVMIntrinsicOp(), and convertOperationImpl().

◆ convertBlock()

LogicalResult mlir::LLVM::ModuleTranslation::convertBlock ( Block & bb,
bool ignoreArguments,
llvm::IRBuilderBase & builder )
inline

Translates the contents of the given block to LLVM IR using this translator.

The LLVM IR basic block corresponding to the given block is expected to exist in the mapping of this translator. Uses builder to translate the IR, leaving it at the end of the block. If ignoreArguments is set, does not produce PHI nodes for the block arguments. Otherwise, the PHI nodes are constructed for block arguments but are not connected to the predecessors that may not exist yet.

Definition at line 305 of file ModuleTranslation.h.

Referenced by convertDataOp(), convertOmpAtomicCapture(), convertOmpAtomicUpdate(), convertOmpOpRegions(), emitUserDefinedMapper(), and inlineConvertOmpRegions().

◆ convertType()

◆ forgetMapping()

void ModuleTranslation::forgetMapping ( Region & region)

Removes the mapping for blocks contained in the region and values defined in these blocks.

Definition at line 774 of file ModuleTranslation.cpp.

Referenced by convertOmpOpRegions(), copyFirstPrivateVars(), emitUserDefinedMapper(), initPrivateVar(), inlineConvertOmpRegions(), and inlineOmpRegionCleanup().

◆ getContext()

MLIRContext & mlir::LLVM::ModuleTranslation::getContext ( )
inline

Returns the MLIR context of the module being translated.

Definition at line 248 of file ModuleTranslation.h.

Referenced by convertOperationImpl(), and createVL().

◆ getLLVMContext()

llvm::LLVMContext & mlir::LLVM::ModuleTranslation::getLLVMContext ( ) const
inline

◆ getLLVMModule()

llvm::Module * mlir::LLVM::ModuleTranslation::getLLVMModule ( )
inline

◆ getOpenMPBuilder()

◆ getOrCreateAliasScope()

llvm::MDNode * ModuleTranslation::getOrCreateAliasScope ( AliasScopeAttr aliasScopeAttr)

Returns the LLVM metadata corresponding to a mlir LLVM dialect alias scope attribute.

Creates the metadata node if it has not been converted before.

Definition at line 1987 of file ModuleTranslation.cpp.

References replacement().

Referenced by getOrCreateAliasScopes().

◆ getOrCreateAliasScopes()

llvm::MDNode * ModuleTranslation::getOrCreateAliasScopes ( ArrayRef< AliasScopeAttr > aliasScopeAttrs)

Returns the LLVM metadata corresponding to an array of mlir LLVM dialect alias scope attributes.

Creates the metadata nodes if they have not been converted before.

Definition at line 2032 of file ModuleTranslation.cpp.

References getLLVMContext(), and getOrCreateAliasScope().

Referenced by setAliasScopeMetadata().

◆ getOrInsertNamedModuleMetadata()

llvm::NamedMDNode * ModuleTranslation::getOrInsertNamedModuleMetadata ( StringRef name)

Gets the named metadata in the LLVM IR module being constructed, creating it if it does not exist.

Definition at line 2296 of file ModuleTranslation.cpp.

◆ invalidateOmpLoop() [1/2]

void mlir::LLVM::ModuleTranslation::invalidateOmpLoop ( omp::NewCliOp mlir)
inline

Mark an OpenMP loop as having been consumed.

Definition at line 128 of file ModuleTranslation.h.

Referenced by applyTile(), applyUnrollHeuristic(), and invalidateOmpLoop().

◆ invalidateOmpLoop() [2/2]

void mlir::LLVM::ModuleTranslation::invalidateOmpLoop ( Value mlir)
inline

Mark an OpenMP loop as having been consumed.

Definition at line 131 of file ModuleTranslation.h.

References invalidateOmpLoop().

◆ lookupAlias()

llvm::GlobalValue * mlir::LLVM::ModuleTranslation::lookupAlias ( Operation * op)
inline

Finds an LLVM IR global value that corresponds to the given MLIR operation defining a global alias value.

Definition at line 261 of file ModuleTranslation.h.

Referenced by convertOperationImpl().

◆ lookupBlock()

llvm::BasicBlock * mlir::LLVM::ModuleTranslation::lookupBlock ( Block * block) const
inline

Finds an LLVM IR basic block that corresponds to the given MLIR block.

Definition at line 111 of file ModuleTranslation.h.

Referenced by mlir::LLVM::detail::connectPHINodes(), convertDataOp(), convertOmpOpRegions(), and convertOperationImpl().

◆ lookupBlockAddress()

llvm::BasicBlock * mlir::LLVM::ModuleTranslation::lookupBlockAddress ( BlockAddressAttr attr) const
inline

Finds the LLVM basic block that corresponds to the given BlockAddressAttr.

Definition at line 197 of file ModuleTranslation.h.

Referenced by convertOperationImpl().

◆ lookupBranch()

llvm::Instruction * mlir::LLVM::ModuleTranslation::lookupBranch ( Operation * op) const
inline

Finds an LLVM IR instruction that corresponds to the given MLIR operation with successors.

Definition at line 161 of file ModuleTranslation.h.

Referenced by mlir::LLVM::detail::connectPHINodes(), and setBranchWeightsMetadata().

◆ lookupCall()

llvm::CallInst * mlir::LLVM::ModuleTranslation::lookupCall ( Operation * op) const
inline

Finds an LLVM call instruction that corresponds to the given MLIR call operation.

Definition at line 175 of file ModuleTranslation.h.

Referenced by setBranchWeightsMetadata().

◆ lookupFunction()

llvm::Function * mlir::LLVM::ModuleTranslation::lookupFunction ( StringRef name) const
inline

◆ lookupGlobal()

llvm::GlobalValue * mlir::LLVM::ModuleTranslation::lookupGlobal ( Operation * op)
inline

Finds an LLVM IR global value that corresponds to the given MLIR operation defining a global value.

Definition at line 255 of file ModuleTranslation.h.

Referenced by convertOmpThreadprivate(), and convertOperationImpl().

◆ lookupIFunc()

llvm::GlobalValue * mlir::LLVM::ModuleTranslation::lookupIFunc ( Operation * op)
inline

Finds an LLVM IR global value that corresponds to the given MLIR operation defining an IFunc.

Definition at line 267 of file ModuleTranslation.h.

Referenced by convertOperationImpl().

◆ lookupOMPLoop() [1/2]

llvm::CanonicalLoopInfo * mlir::LLVM::ModuleTranslation::lookupOMPLoop ( omp::NewCliOp mlir) const
inline

Find the LLVM-IR loop that represents an MLIR loop.

Definition at line 116 of file ModuleTranslation.h.

References result.

Referenced by applyTile(), applyUnrollHeuristic(), and lookupOMPLoop().

◆ lookupOMPLoop() [2/2]

llvm::CanonicalLoopInfo * mlir::LLVM::ModuleTranslation::lookupOMPLoop ( Value mlir) const
inline

Find the LLVM-IR loop that represents an MLIR loop.

Definition at line 123 of file ModuleTranslation.h.

References lookupOMPLoop().

◆ lookupValue()

◆ lookupValues()

SmallVector< llvm::Value * > ModuleTranslation::lookupValues ( ValueRange values)

Looks up remapped a list of remapped values.

A helper to look up remapped operands in the value remapping table.

Definition at line 2234 of file ModuleTranslation.cpp.

References lookupValue().

Referenced by convertCallLLVMIntrinsicOp(), convertOmpOrdered(), convertOperationImpl(), mlir::LLVM::detail::createIntrinsicCall(), and inlineConvertOmpRegions().

◆ mapBlock()

void mlir::LLVM::ModuleTranslation::mapBlock ( Block * mlir,
llvm::BasicBlock * llvm )
inline

Stores the mapping between an MLIR block and LLVM IR basic block.

Definition at line 104 of file ModuleTranslation.h.

References result.

Referenced by convertDataOp(), convertOmpAtomicCapture(), convertOmpAtomicUpdate(), convertOmpOpRegions(), emitUserDefinedMapper(), and inlineConvertOmpRegions().

◆ mapBlockAddress()

void mlir::LLVM::ModuleTranslation::mapBlockAddress ( BlockAddressAttr attr,
llvm::BasicBlock * block )
inline

Maps a BlockAddressAttr to its corresponding LLVM basic block.

Definition at line 189 of file ModuleTranslation.h.

References result.

Referenced by convertOperationImpl().

◆ mapBranch()

void mlir::LLVM::ModuleTranslation::mapBranch ( Operation * mlir,
llvm::Instruction * llvm )
inline

Stores the mapping between an MLIR operation with successors and a corresponding LLVM IR instruction.

Definition at line 152 of file ModuleTranslation.h.

References result.

Referenced by convertOperationImpl().

◆ mapCall()

void mlir::LLVM::ModuleTranslation::mapCall ( Operation * mlir,
llvm::CallInst * llvm )
inline

Stores a mapping between an MLIR call operation and a corresponding LLVM call instruction.

Definition at line 167 of file ModuleTranslation.h.

References result.

Referenced by convertOperationImpl().

◆ mapFunction()

void mlir::LLVM::ModuleTranslation::mapFunction ( StringRef name,
llvm::Function * func )
inline

Stores the mapping between a function name and its LLVM IR representation.

Definition at line 71 of file ModuleTranslation.h.

References result.

Referenced by emitUserDefinedMapper().

◆ mapOmpLoop() [1/2]

void mlir::LLVM::ModuleTranslation::mapOmpLoop ( omp::NewCliOp mlir,
llvm::CanonicalLoopInfo * llvm )
inline

Map an MLIR OpenMP dialect CanonicalLoopInfo to its lowered LLVM-IR OpenMPIRBuilder CanonicalLoopInfo.

Definition at line 137 of file ModuleTranslation.h.

Referenced by applyTile(), convertOmpCanonicalLoopOp(), and mapOmpLoop().

◆ mapOmpLoop() [2/2]

void mlir::LLVM::ModuleTranslation::mapOmpLoop ( Value mlir,
llvm::CanonicalLoopInfo * llvm )
inline

Map an MLIR OpenMP dialect CanonicalLoopInfo to its lowered LLVM-IR OpenMPIRBuilder CanonicalLoopInfo.

Definition at line 146 of file ModuleTranslation.h.

References mapOmpLoop().

◆ mapUnresolvedBlockAddress()

void mlir::LLVM::ModuleTranslation::mapUnresolvedBlockAddress ( BlockAddressOp op,
llvm::Value * cst )
inline

Maps a blockaddress operation to its corresponding placeholder LLVM value.

Definition at line 181 of file ModuleTranslation.h.

References result.

Referenced by convertOperationImpl().

◆ mapValue() [1/2]

◆ mapValue() [2/2]

llvm::Value *& mlir::LLVM::ModuleTranslation::mapValue ( Value value)
inline

Provides write-once access to store the LLVM IR value corresponding to the given MLIR value.

Definition at line 88 of file ModuleTranslation.h.

◆ setAccessGroupsMetadata()

void ModuleTranslation::setAccessGroupsMetadata ( AccessGroupOpInterface op,
llvm::Instruction * inst )

Definition at line 1980 of file ModuleTranslation.cpp.

Referenced by convertOperationImpl().

◆ setAliasScopeMetadata()

void ModuleTranslation::setAliasScopeMetadata ( AliasAnalysisOpInterface op,
llvm::Instruction * inst )

Definition at line 2041 of file ModuleTranslation.cpp.

References ArrayAttr(), and getOrCreateAliasScopes().

Referenced by convertOperationImpl().

◆ setBranchWeightsMetadata()

void ModuleTranslation::setBranchWeightsMetadata ( WeightedBranchOpInterface op)

Sets LLVM profiling metadata for operations that have branch weights.

Definition at line 2097 of file ModuleTranslation.cpp.

References getLLVMContext(), lookupBranch(), and lookupCall().

◆ setDereferenceableMetadata()

void ModuleTranslation::setDereferenceableMetadata ( DereferenceableOpInterface op,
llvm::Instruction * inst )

Sets LLVM dereferenceable metadata for operations that have dereferenceable attributes.

Definition at line 2081 of file ModuleTranslation.cpp.

References getLLVMContext().

◆ setDisjointFlag()

void ModuleTranslation::setDisjointFlag ( Operation * op,
llvm::Value * value )

Sets the disjoint flag attribute for the exported instruction value given the original operation op.

Asserts if the operation does not implement the disjoint flag interface, and asserts if the value is an instruction that implements the disjoint flag.

Definition at line 2222 of file ModuleTranslation.cpp.

◆ setLoopMetadata()

void ModuleTranslation::setLoopMetadata ( Operation * op,
llvm::Instruction * inst )

Sets LLVM loop metadata for branch operations that have a loop annotation attribute.

Definition at line 2209 of file ModuleTranslation.cpp.

Referenced by convertOperationImpl().

◆ setTBAAMetadata()

void ModuleTranslation::setTBAAMetadata ( AliasAnalysisOpInterface op,
llvm::Instruction * inst )

Sets LLVM TBAA metadata for memory operations that have TBAA attributes.

Definition at line 2061 of file ModuleTranslation.cpp.

References ArrayAttr().

Referenced by convertOperationImpl().

◆ stackPop()

void mlir::LLVM::ModuleTranslation::stackPop ( )
inline

Pops the last element from the ModuleTranslation stack.

Definition at line 337 of file ModuleTranslation.h.

Referenced by convertHostOrTargetOperation().

◆ stackPush()

template<typename T, typename... Args>
void mlir::LLVM::ModuleTranslation::stackPush ( Args &&... args)
inline

Creates a stack frame of type T on ModuleTranslation stack.

T must be derived from StackFrameBase<T> and constructible from the provided arguments. Doing this before entering the region of the op being translated makes the frame available when translating ops within that region.

Definition at line 332 of file ModuleTranslation.h.

Referenced by convertHostOrTargetOperation().

◆ stackWalk()

template<typename T>
WalkResult mlir::LLVM::ModuleTranslation::stackWalk ( llvm::function_ref< WalkResult(T &)> callback)
inline

Calls callback for every ModuleTranslation stack frame of type T starting from the top of the stack.

Definition at line 342 of file ModuleTranslation.h.

Referenced by convertOmpLoopNest(), findAllocaInsertPoint(), and findCurrentLoopInfo().

◆ symbolTable()

SymbolTableCollection & mlir::LLVM::ModuleTranslation::symbolTable ( )
inline

Definition at line 350 of file ModuleTranslation.h.

Referenced by convertOmpThreadprivate(), and convertOperationImpl().

◆ translateDebugInfo()

llvm::Metadata * ModuleTranslation::translateDebugInfo ( LLVM::DINodeAttr attr)

Translates the given LLVM debug info metadata.

Definition at line 2281 of file ModuleTranslation.cpp.

Referenced by getLocalScopeFromLoc().

◆ translateExpression()

llvm::DIExpression * ModuleTranslation::translateExpression ( LLVM::DIExpressionAttr attr)

Translates the given LLVM DWARF expression metadata.

Definition at line 2271 of file ModuleTranslation.cpp.

◆ translateFPExceptionBehavior()

llvm::fp::ExceptionBehavior ModuleTranslation::translateFPExceptionBehavior ( LLVM::FPExceptionBehavior exceptionBehavior)

Translates the given LLVM FP exception behavior metadata.

Definition at line 2290 of file ModuleTranslation.cpp.

◆ translateGlobalVariableExpression()

llvm::DIGlobalVariableExpression * ModuleTranslation::translateGlobalVariableExpression ( LLVM::DIGlobalVariableExpressionAttr attr)

Translates the given LLVM global variable expression metadata.

Definition at line 2276 of file ModuleTranslation.cpp.

◆ translateLoc()

llvm::DILocation * ModuleTranslation::translateLoc ( Location loc,
llvm::DILocalScope * scope )

Translates the given location.

Definition at line 2265 of file ModuleTranslation.cpp.

◆ translateRoundingMode()

llvm::RoundingMode ModuleTranslation::translateRoundingMode ( LLVM::RoundingMode rounding)

Translates the given LLVM rounding mode metadata.

Definition at line 2286 of file ModuleTranslation.cpp.

◆ mlir::translateModuleToLLVMIR

std::unique_ptr< llvm::Module > mlir::translateModuleToLLVMIR ( Operation * ,
llvm::LLVMContext & ,
StringRef ,
bool  )
friend

The documentation for this class was generated from the following files: