#include "ByteCode.h"
#include "mlir/Analysis/Liveness.h"
#include "mlir/Dialect/PDL/IR/PDLTypes.h"
#include "mlir/Dialect/PDLInterp/IR/PDLInterp.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/RegionGraphTraits.h"
#include "llvm/ADT/IntervalMap.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/FormatVariadic.h"
#include <numeric>
Go to the source code of this file.
◆ DEBUG_TYPE
#define DEBUG_TYPE "pdl-bytecode" |
◆ OpCode
◆ executeGetOperandsResults()
template<template< typename > class AttrSizedSegmentsT, typename RangeT >
This function is the internal implementation of GetResults
and GetOperands
that provides support for extracting a value range from the given operation.
Definition at line 1700 of file ByteCode.cpp.
References copy(), mlir::Value::getAsOpaquePointer(), mlir::Operation::getAttrOfType(), mlir::PatternBenefit::getBenefit(), mlir::Builder::getFusedLoc(), mlir::Operation::getNumOperands(), mlir::Operation::getNumResults(), mlir::Operation::getResult(), mlir::Value::getType(), mlir::ValueRange::getType(), mlir::Value::getUsers(), mlir::DenseElementsAttr::getValues(), mlir::Operation::hasTrait(), mlir::PatternBenefit::isImpossibleToMatch(), max(), mlir::RewriterBase::replaceOp(), mlir::PDLValue::TypeRange, mlir::detail::PDLByteCode::MatchResult::typeRangeValues, mlir::Value::user_begin(), mlir::Value::user_end(), value, mlir::PDLValue::Value, mlir::PDLValue::ValueRange, mlir::detail::PDLByteCode::MatchResult::valueRangeValues, and mlir::detail::PDLByteCode::MatchResult::values.
◆ kInferTypesMarker
Initial value:=
static Value max(ImplicitLocOpBuilder &builder, Value value, Value bound)
A marker used to indicate if an operation should infer types.
Definition at line 166 of file ByteCode.cpp.