MLIR
20.0.0git
|
#include "mlir/Interfaces/InferIntRangeInterface.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitmaskEnum.h"
#include <optional>
Go to the source code of this file.
Namespaces | |
mlir | |
Include the generated interface declarations. | |
mlir::intrange | |
Typedefs | |
using | mlir::intrange::InferRangeFn = std::function< ConstantIntRanges(ArrayRef< ConstantIntRanges >)> |
Function that performs inference on an array of ConstantIntRanges , abstracted away here to permit writing the function that handles both 64- and 32-bit index types. More... | |
using | mlir::intrange::InferIntegerValueRangeFn = std::function< IntegerValueRange(ArrayRef< IntegerValueRange >)> |
Function that performs inferrence on an array of IntegerValueRange . More... | |
using | mlir::intrange::InferRangeWithOvfFlagsFn = function_ref< ConstantIntRanges(ArrayRef< ConstantIntRanges >, OverflowFlags)> |
Function that performs inference on an array of ConstantIntRanges while taking special overflow behavior into account. More... | |
Enumerations | |
enum class | mlir::intrange::CmpMode : uint32_t { mlir::intrange::Both , mlir::intrange::Signed , mlir::intrange::Unsigned } |
enum class | mlir::intrange::OverflowFlags : uint32_t { mlir::intrange::None = 0 , mlir::intrange::Nsw = 1 , mlir::intrange::Nuw = 2 } |
enum class | mlir::intrange::CmpPredicate : uint64_t { mlir::intrange::eq , mlir::intrange::ne , mlir::intrange::slt , mlir::intrange::sle , mlir::intrange::sgt , mlir::intrange::sge , mlir::intrange::ult , mlir::intrange::ule , mlir::intrange::ugt , mlir::intrange::uge } |
Copy of the enum from arith and index to allow the common integer range infrastructure to not depend on either dialect. More... | |
Variables | |
static constexpr unsigned | mlir::intrange::indexMinWidth = 32 |
static constexpr unsigned | mlir::intrange::indexMaxWidth = 64 |