My Project
Namespaces | Classes | Functions
mlir::LLVM Namespace Reference

Namespaces

 detail
 

Classes

class  LLVMDialect
 
class  LLVMType
 
class  ModuleTranslation
 

Functions

void ensureDistinctSuccessors (ModuleOp m)
 
Value createGlobalString (Location loc, OpBuilder &builder, StringRef name, StringRef value, LLVM::Linkage linkage, LLVM::LLVMDialect *llvmDialect)
 
bool satisfiesLLVMModule (Operation *op)
 

Function Documentation

◆ createGlobalString()

Value mlir::LLVM::createGlobalString ( Location  loc,
OpBuilder builder,
StringRef  name,
StringRef  value,
LLVM::Linkage  linkage,
LLVM::LLVMDialect llvmDialect 
)

Create an LLVM global containing the string "value" at the module containing surrounding the insertion point of builder. Obtain the address of that global and use it to compute the address of the first character in the string (operations inserted at the builder insertion point).

◆ ensureDistinctSuccessors()

void mlir::LLVM::ensureDistinctSuccessors ( ModuleOp  m)

Make argument-taking successors of each block distinct. PHI nodes in LLVM IR use the predecessor ID to identify which value to take. They do not support different values coming from the same predecessor. If a block has another block as a successor more than once with different values, insert a new dummy block for LLVM PHI nodes to tell the sources apart.

◆ satisfiesLLVMModule()

bool mlir::LLVM::satisfiesLLVMModule ( Operation op)

LLVM requires some operations to be inside of a Module operation. This function confirms that the Operation has the desired properties.