|
MLIR 24.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 179 of file SPIRVCanonicalization.cpp.
| using ISubBorrowFold = ArithmeticExtendedBinaryFold<spirv::ISubBorrowOp> |
Definition at line 185 of file SPIRVCanonicalization.cpp.
| using SMulExtendedOpFold = MulExtendedFold<spirv::SMulExtendedOp, true> |
Definition at line 253 of file SPIRVCanonicalization.cpp.
| using UMulExtendedOpFold = MulExtendedFold<spirv::UMulExtendedOp, false> |
Definition at line 282 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.