MLIR  16.0.0git
Macros | Functions | Variables
Utils.cpp File Reference
#include "mlir/Dialect/Affine/Analysis/Utils.h"
#include "mlir/Analysis/Presburger/PresburgerRelation.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/IR/AffineValueMap.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/IR/IntegerSet.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
+ Include dependency graph for Utils.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "analysis-utils"
 

Functions

static unsigned getMemRefEltSizeInBytes (MemRefType memRefType)
 
static void findInstPosition (Operation *op, Block *limitBlock, SmallVectorImpl< unsigned > *positions)
 
static OperationgetInstAtPosition (ArrayRef< unsigned > positions, unsigned level, Block *block)
 
static LogicalResult addMissingLoopIVBounds (SmallPtrSet< Value, 8 > &ivs, FlatAffineValueConstraints *cst)
 
static Optional< uint64_t > getConstDifference (AffineMap lbMap, AffineMap ubMap)
 
static Optional< int64_t > getMemoryFootprintBytes (Block &block, Block::iterator start, Block::iterator end, int memorySpace)
 

Variables

const char *const kSliceFusionBarrierAttrName = "slice_fusion_barrier"
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "analysis-utils"

Definition at line 26 of file Utils.cpp.

Function Documentation

◆ addMissingLoopIVBounds()

static LogicalResult addMissingLoopIVBounds ( SmallPtrSet< Value, 8 > &  ivs,
FlatAffineValueConstraints cst 
)
static

◆ findInstPosition()

static void findInstPosition ( Operation op,
Block limitBlock,
SmallVectorImpl< unsigned > *  positions 
)
static

◆ getConstDifference()

static Optional<uint64_t> getConstDifference ( AffineMap  lbMap,
AffineMap  ubMap 
)
static

◆ getInstAtPosition()

static Operation* getInstAtPosition ( ArrayRef< unsigned >  positions,
unsigned  level,
Block block 
)
static

Definition at line 735 of file Utils.cpp.

References mlir::Operation::getRegions().

Referenced by mlir::insertBackwardComputationSlice().

◆ getMemoryFootprintBytes()

static Optional<int64_t> getMemoryFootprintBytes ( Block block,
Block::iterator  start,
Block::iterator  end,
int  memorySpace 
)
static

◆ getMemRefEltSizeInBytes()

static unsigned getMemRefEltSizeInBytes ( MemRefType  memRefType)
static

Definition at line 599 of file Utils.cpp.

Referenced by mlir::getMemRefSizeInBytes(), and mlir::MemRefRegion::getRegionSize().

Variable Documentation

◆ kSliceFusionBarrierAttrName

const char* const kSliceFusionBarrierAttrName = "slice_fusion_barrier"

Definition at line 1037 of file Utils.cpp.

Referenced by mlir::getComputationSliceState().