|
MLIR 23.0.0git
|
#include <optional>#include <utility>#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"#include "mlir/Dialect/CommonFolders.h"#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"#include "mlir/Dialect/UB/IR/UBOps.h"#include "mlir/IR/Matchers.h"#include "mlir/IR/PatternMatch.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallVectorExtras.h"#include "SPIRVCanonicalization.inc"Go to the source code of this file.
Classes | |
| struct | ArithmeticExtendedBinaryFold< Op > |
| struct | MulExtendedFold< MulOp, IsSigned > |
| struct | UMulExtendedOpXOne |
| struct | UModSimplification |
Typedefs | |
| using | IAddCarryFold = ArithmeticExtendedBinaryFold<spirv::IAddCarryOp> |
| using | ISubBorrowFold = ArithmeticExtendedBinaryFold<spirv::ISubBorrowOp> |
| using | SMulExtendedOpFold = MulExtendedFold<spirv::SMulExtendedOp, true> |
| using | UMulExtendedOpFold = MulExtendedFold<spirv::UMulExtendedOp, false> |
Functions | |
| static std::optional< bool > | getScalarOrSplatBoolAttr (Attribute attr) |
| Returns the boolean value under the hood if the given boolAttr is a scalar or splat vector bool constant. | |
| static Attribute | extractCompositeElement (Attribute composite, ArrayRef< unsigned > indices) |
| static bool | isDivZeroOrOverflow (const APInt &a, const APInt &b) |
| using IAddCarryFold = ArithmeticExtendedBinaryFold<spirv::IAddCarryOp> |
Definition at line 175 of file SPIRVCanonicalization.cpp.
| using ISubBorrowFold = ArithmeticExtendedBinaryFold<spirv::ISubBorrowOp> |
Definition at line 181 of file SPIRVCanonicalization.cpp.
| using SMulExtendedOpFold = MulExtendedFold<spirv::SMulExtendedOp, true> |
Definition at line 249 of file SPIRVCanonicalization.cpp.
| using UMulExtendedOpFold = MulExtendedFold<spirv::UMulExtendedOp, false> |
Definition at line 278 of file SPIRVCanonicalization.cpp.
Definition at line 48 of file SPIRVCanonicalization.cpp.
References extractCompositeElement(), and indices.
Referenced by extractCompositeElement().
Returns the boolean value under the hood if the given boolAttr is a scalar or splat vector bool constant.
Definition at line 34 of file SPIRVCanonicalization.cpp.
|
static |
Definition at line 71 of file SPIRVCanonicalization.cpp.
References b.