CIRCT
20.0.0git
|
#include "circt/Dialect/Arc/ArcOps.h"
#include "circt/Dialect/Arc/ArcPasses.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Vector/IR/VectorOps.h"
#include "mlir/IR/ImplicitLocOpBuilder.h"
#include "mlir/Pass/Pass.h"
#include "circt/Dialect/Arc/ArcPassesEnums.cpp.inc"
#include "circt/Dialect/Arc/ArcPasses.h.inc"
Go to the source code of this file.
Namespaces | |
circt | |
The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
circt::arc | |
Macros | |
#define | GEN_PASS_DEF_LOWERVECTORIZATIONS |
Functions | |
static VectorizeOp | lowerBoundaryScalar (VectorizeOp op) |
Vectorizes the arc.vectorize boundary by packing the vector elements into an integer value. More... | |
static VectorizeOp | lowerBoundaryVector (VectorizeOp op) |
Vectorizes the arc.vectorize boundary by using the vector type and dialect for SIMD-based vectorization. More... | |
static VectorizeOp | lowerBoundary (VectorizeOp op) |
Vectorizes the boundary of the given arc.vectorize operation if it is not already vectorized. More... | |
static FailureOr< VectorizeOp > | lowerBody (VectorizeOp op) |
Vectorizes the body of the given arc.vectorize operation if it is not already vectorized. More... | |
static LogicalResult | inlineBody (VectorizeOp op) |
Inlines the arc.vectorize operations body once both the boundary and body are vectorized. More... | |
#define GEN_PASS_DEF_LOWERVECTORIZATIONS |
Definition at line 21 of file LowerVectorizations.cpp.
|
static |
Inlines the arc.vectorize
operations body once both the boundary and body are vectorized.
Example:
becomes
Definition at line 230 of file LowerVectorizations.cpp.
|
static |
Vectorizes the body of the given arc.vectorize
operation if it is not already vectorized.
If the boundary of the arc.vectorize
operation is already vectorized the same vectorization technique (SIMD or scalar) is chosen. Otherwise,
vector
type and dialect for SIMD vectorization Returns the vectorized version of the op or failure. May invalidate the passed operation. Definition at line 200 of file LowerVectorizations.cpp.
|
static |
Vectorizes the boundary of the given arc.vectorize
operation if it is not already vectorized.
If the body of the arc.vectorize
operation is already vectorized the same vectorization technique (SIMD or scalar) is chosen. Otherwise,
vector
type and dialect for SIMD vectorization Returns the vectorized version of the op. May invalidate the passed operation. Definition at line 163 of file LowerVectorizations.cpp.
References lowerBoundaryScalar(), and lowerBoundaryVector().
|
static |
Vectorizes the arc.vectorize
boundary by packing the vector elements into an integer value.
Returns the vectorized version of the op. May invalidate the passed operation.
Example:
becomes
Definition at line 54 of file LowerVectorizations.cpp.
References width.
Referenced by lowerBoundary().
|
static |
Vectorizes the arc.vectorize
boundary by using the vector
type and dialect for SIMD-based vectorization.
Returns the vectorized version of the op. May invalidate the passed operation.
Example:
becomes
Definition at line 111 of file LowerVectorizations.cpp.
References circt::calyx::direction::get().
Referenced by lowerBoundary().