MLIR  20.0.0git
Classes | Namespaces | Macros | Functions | Variables
MLIRContext.cpp File Reference
#include "mlir/IR/MLIRContext.h"
#include "AffineExprDetail.h"
#include "AffineMapDetail.h"
#include "AttributeDetail.h"
#include "IntegerSetDetail.h"
#include "TypeDetail.h"
#include "mlir/IR/Action.h"
#include "mlir/IR/AffineExpr.h"
#include "mlir/IR/AffineMap.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/BuiltinDialect.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/ExtensibleDialect.h"
#include "mlir/IR/IntegerSet.h"
#include "mlir/IR/Location.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/IR/Types.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Support/RWMutex.h"
#include "llvm/Support/ThreadPool.h"
#include "llvm/Support/raw_ostream.h"
#include <memory>
#include <optional>

Go to the source code of this file.

Classes

class  mlir::MLIRContextImpl
 This is the implementation of the MLIRContext class, using the pImpl idiom. More...
 

Namespaces

 mlir
 Include the generated interface declarations.
 

Macros

#define DEBUG_TYPE   "mlircontext"
 

Functions

static bool isThreadingGloballyDisabled ()
 
template<typename T >
static ArrayRef< T > copyArrayRefInto (llvm::BumpPtrAllocator &allocator, ArrayRef< T > elements)
 Copy the specified array of elements into memory managed by the provided bump pointer allocator. More...
 
static IntegerType getCachedIntegerType (unsigned width, IntegerType::SignednessSemantics signedness, MLIRContext *context)
 Return an existing integer type instance if one is cached within the context. More...
 
static LLVM_ATTRIBUTE_UNUSED bool willBeValidAffineMap (unsigned dimCount, unsigned symbolCount, ArrayRef< AffineExpr > results)
 Check whether the arguments passed to the AffineMap::get() are consistent. More...
 

Variables

static llvm::ManagedStatic< MLIRContextOptions > clOptions
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "mlircontext"

Definition at line 45 of file MLIRContext.cpp.

Function Documentation

◆ copyArrayRefInto()

template<typename T >
static ArrayRef<T> copyArrayRefInto ( llvm::BumpPtrAllocator &  allocator,
ArrayRef< T >  elements 
)
static

Copy the specified array of elements into memory managed by the provided bump pointer allocator.

This assumes the elements are all PODs.

Definition at line 384 of file MLIRContext.cpp.

◆ getCachedIntegerType()

static IntegerType getCachedIntegerType ( unsigned  width,
IntegerType::SignednessSemantics  signedness,
MLIRContext context 
)
static

◆ isThreadingGloballyDisabled()

static bool isThreadingGloballyDisabled ( )
static

Definition at line 79 of file MLIRContext.cpp.

References clOptions.

Referenced by mlir::MLIRContext::disableMultithreading().

◆ willBeValidAffineMap()

static LLVM_ATTRIBUTE_UNUSED bool willBeValidAffineMap ( unsigned  dimCount,
unsigned  symbolCount,
ArrayRef< AffineExpr results 
)
static

Check whether the arguments passed to the AffineMap::get() are consistent.

This method checks whether the highest index of dimensional identifier present in result expressions is less than dimCount and the highest index of symbolic identifier present in result expressions is less than symbolCount.

Definition at line 1246 of file MLIRContext.cpp.

References mlir::getMaxDimAndSymbol().

Referenced by mlir::AffineMap::get().

Variable Documentation

◆ clOptions

llvm::ManagedStatic<MLIRContextOptions> clOptions
static