Skip to content

Commit

Permalink
Bump to LLVM green commit from 2023-08-21 (#2462)
Browse files Browse the repository at this point in the history
* Bump to LLVM green commit from 2023-08-21

Signed-off-by: Yan Xu <[email protected]>

* [mlir] add supplementalPatterns for accelerators

Signed-off-by: Yan Xu <[email protected]>

* [mlir] update const prop pattern

Signed-off-by: Yan Xu <[email protected]>

---------

Signed-off-by: Yan Xu <[email protected]>
  • Loading branch information
Connor-XY authored Aug 27, 2023
1 parent 21ec7b9 commit 251f3f6
Show file tree
Hide file tree
Showing 46 changed files with 283 additions and 265 deletions.
2 changes: 1 addition & 1 deletion docs/BuildOnLinuxOSX.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Firstly, install MLIR (as a part of LLVM-Project):
``` bash
git clone -n https://github.com/llvm/llvm-project.git
# Check out a specific branch that is known to work with ONNX-MLIR.
cd llvm-project && git checkout f580901d5d30e37755212f1c09e5b587587fbfeb && cd ..
cd llvm-project && git checkout 91088978d712cd7b33610c59f69d87d5a39e3113 && cd ..
```

[same-as-file]: <> (utils/build-mlir.sh)
Expand Down
2 changes: 1 addition & 1 deletion docs/BuildOnWindows.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Install MLIR (as a part of LLVM-Project):
```shell
git clone -n https://github.com/llvm/llvm-project.git
# Check out a specific branch that is known to work with ONNX-MLIR.
cd llvm-project && git checkout f580901d5d30e37755212f1c09e5b587587fbfeb && cd ..
cd llvm-project && git checkout 91088978d712cd7b33610c59f69d87d5a39e3113 && cd ..
```

[same-as-file]: <> (utils/build-mlir.cmd)
Expand Down
1 change: 1 addition & 0 deletions docs/ConstPropagationPass.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ class Pattern<
dag sourcePattern,
list<dag> resultPatterns,
list<dag> additionalConstraints = [],
list<dag> supplementalPatterns = [],
dag benefitsAdded = (addBenefit 0)
>;
```
Expand Down
19 changes: 10 additions & 9 deletions src/Accelerators/NNPA/Conversion/ONNXToZHigh/ONNXToZHigh.td
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ include "src/Accelerators/NNPA/Conversion/ONNXToZHigh/ONNXToZHighCommon.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down Expand Up @@ -156,7 +157,7 @@ def replaceONNXSumOpPatternRecursion : Pat<
(ZHighStickOp:$s_x (GetNthVariadicOperand<0> $x), (NoneLayoutAttr)),
(ZHighStickOp (GetONNXSumOpWithoutFirst $x), (NoneLayoutAttr)),
(returnType $s_x))),
[(VariadicSizeIsGT<2> $x)], (addBenefit 1)
[(VariadicSizeIsGT<2> $x)], [], (addBenefit 1)
>;

// Singleton case: ONNXSumOp (2 inputs) to ZHighAddOp.
Expand All @@ -167,7 +168,7 @@ def replaceONNXSumOpPatternSingleton : Pat<
(ZHighStickOp:$s_x (GetNthVariadicOperand<0> $x), (NoneLayoutAttr)),
(ZHighStickOp (GetNthVariadicOperand<1> $x), (NoneLayoutAttr)),
(returnType $s_x))),
[(VariadicSizeIs<2> $x)], (addBenefit 0)
[(VariadicSizeIs<2> $x)], [], (addBenefit 0)
>;

//===----------------------------------------------------------------------===//
Expand Down Expand Up @@ -486,7 +487,7 @@ def replaceONNXMatMulAddPattern1 : Pat<
(ZHighStickOp $b, (GetMatMulBiasLayoutStringAttr (GetRank $x),
(GetRank $y))))),
[(IsMatMulLegalForZDNN $m), (HasRankOf<2> $y), (HasRankOf<1> $b),
(HaveSameLastDimR2R1 $y, $b)],
(HaveSameLastDimR2R1 $y, $b)], [],
(addBenefit 0)
>;

Expand All @@ -501,7 +502,7 @@ def replaceONNXMatMulAddPattern2 : Pat<
(ZHighStickOp $b, (GetMatMulBiasLayoutStringAttr (GetRank $x),
(GetRank $y))))),
[(IsMatMulLegalForZDNN $m), (HasRankOf<2> $y), (HasRankOf<1> $b),
(HaveSameLastDimR2R1 $y, $b)],
(HaveSameLastDimR2R1 $y, $b)], [],
(addBenefit 0)
>;

Expand Down Expand Up @@ -537,14 +538,14 @@ def Transpose2D: NativeCodeCall<
def normalizeONNXGemmTransAPattern : Pat<
(ONNXGemmOp $a, $b, $c, $alpha, $beta, $transA, $transB),
(ONNXGemmOp (Transpose2D $a), $b, $c, $alpha, $beta, (GetZeroI64Attr), $transB),
[(IsTransposed:$transA)],
[(IsTransposed:$transA)], [],
(addBenefit 1)
>;

def normalizeONNXGemmTransBPattern : Pat<
(ONNXGemmOp $a, $b, $c, $alpha, $beta, $transA, $transB),
(ONNXGemmOp $a, (Transpose2D $b), $c, $alpha, $beta, $transA, (GetZeroI64Attr)),
[(IsTransposed:$transB)],
[(IsTransposed:$transB)], [],
(addBenefit 1)
>;

Expand All @@ -556,7 +557,7 @@ def replaceONNXGemmBiasNoneOr1DPattern : Pat<
(ZHighStickOp $a, (_2DLayoutAttr)),
(ZHighStickOp $b, (_2DLayoutAttr)),
(ZHighStickOp $c, (_1DLayoutAttr)))),
[(IsBiasNoneOr1D:$c)],
[(IsBiasNoneOr1D:$c)], [],
(addBenefit 0)
>;

Expand All @@ -570,7 +571,7 @@ def replaceONNXGemmBias2DPattern : Pat<
(CreateNoneValue)),
(returnType $res)),
$c),
[(HasRankOf<2> $c)],
[(HasRankOf<2> $c)], [],
(addBenefit 0)
>;

Expand Down Expand Up @@ -1004,7 +1005,7 @@ def replaceONNXReluConvPattern : Pattern<
$padtype,
(ACT_RELUAttr)))
],
[(IsConv2DLegalForZDNN $res)],
[(IsConv2DLegalForZDNN $res)], [],
(addBenefit 0)
>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ include "src/Accelerators/NNPA/Dialect/ZHigh/ZHigh.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ include "src/Accelerators/NNPA/Conversion/ONNXToZHigh/ONNXToZHighCommon.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ include "Dialect/ZLow/ZLow.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ include "src/Accelerators/NNPA/Dialect/ZHigh/ZHighOps/OpHelper.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ include "src/Accelerators/NNPA/Dialect/ZHigh/ZHighOps/OpHelper.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
1 change: 1 addition & 0 deletions src/Accelerators/NNPA/Dialect/ZLow/ZLowCombine.td
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ include "ZLow.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ include "src/Accelerators/NNPA/Dialect/ZHigh/ZHigh.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ include "src/Accelerators/NNPA/Dialect/ZHigh/ZHigh.td"
/// class Pattern<
/// dag sourcePattern, list<dag> resultPatterns,
/// list<dag> additionalConstraints = [],
/// list<dag> supplementalPatterns = [],
/// dag benefitsAdded = (addBenefit 0)
/// >;

Expand Down
12 changes: 6 additions & 6 deletions src/Conversion/KrnlToLLVM/KrnlCall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ class KrnlCallOpLowering : public ConversionPattern {
Location loc = op->getLoc();
KrnlCallOp krnlCallOp = llvm::cast<KrnlCallOp>(op);
MultiDialectBuilder<LLVMBuilder> create(rewriter, loc);
LLVMTypeConverter *llvmTypeConverter =
static_cast<LLVMTypeConverter *>(getTypeConverter());
const LLVMTypeConverter *llvmTypeConverter =
static_cast<const LLVMTypeConverter *>(getTypeConverter());

// Get a symbol reference to the function, inserting it if necessary.
ModuleOp module = op->getParentOfType<ModuleOp>();
Expand Down Expand Up @@ -95,8 +95,8 @@ class KrnlCallOpLowering : public ConversionPattern {
Location loc = op->getLoc();
ModuleOp module = op->getParentOfType<ModuleOp>();
MultiDialectBuilder<LLVMBuilder> create(rewriter, loc);
auto *llvmTypeConverter =
static_cast<LLVMTypeConverter *>(getTypeConverter());
const auto *llvmTypeConverter =
static_cast<const LLVMTypeConverter *>(getTypeConverter());
const auto &apiRegistry =
RuntimeAPIRegistry(module, rewriter, *llvmTypeConverter);

Expand Down Expand Up @@ -132,8 +132,8 @@ class KrnlCallOpLowering : public ConversionPattern {
Location loc = op->getLoc();
ModuleOp module = op->getParentOfType<ModuleOp>();
MultiDialectBuilder<KrnlBuilder, LLVMBuilder> create(rewriter, loc);
LLVMTypeConverter *llvmTypeConverter =
static_cast<LLVMTypeConverter *>(getTypeConverter());
const LLVMTypeConverter *llvmTypeConverter =
static_cast<const LLVMTypeConverter *>(getTypeConverter());
const auto &apiRegistry =
RuntimeAPIRegistry(module, rewriter, *llvmTypeConverter);

Expand Down
2 changes: 1 addition & 1 deletion src/Conversion/KrnlToLLVM/KrnlGlobal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ class KrnlGlobalOpLowering : public ConvertToLLVMPattern {
MemRefDescriptor createMemRefDescriptor(Value address, MemRefType memRefType,
Location loc, OpBuilder &builder) const {
Type elementType = memRefType.getElementType();
LLVMTypeConverter &typeConverter = *getTypeConverter();
const LLVMTypeConverter &typeConverter = *getTypeConverter();
Type llvmElemType = typeConverter.convertType(elementType);
MLIRContext *context = builder.getContext();
MultiDialectBuilder<LLVMBuilder> create(builder, loc);
Expand Down
4 changes: 2 additions & 2 deletions src/Conversion/KrnlToLLVM/KrnlInstrument.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ class KrnlInstrumentOpLowering : public ConversionPattern {
llvm::dbgs() << "Instrumentation_nodeName: " << nodeName << "\n");

MultiDialectBuilder<LLVMBuilder> create(rewriter, loc);
LLVMTypeConverter *typeConverter =
static_cast<LLVMTypeConverter *>(getTypeConverter());
const LLVMTypeConverter *typeConverter =
static_cast<const LLVMTypeConverter *>(getTypeConverter());

// Get a symbol reference to the memcpy function, inserting it if necessary.
ModuleOp parentModule = op->getParentOfType<ModuleOp>();
Expand Down
3 changes: 2 additions & 1 deletion src/Conversion/KrnlToLLVM/KrnlPrint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ class KrnlPrintOpLowering : public ConversionPattern {
Location loc = printOp.getLoc();
KrnlPrintOpAdaptor operandAdaptor(operands);
MultiDialectBuilder<LLVMBuilder> create(rewriter, loc);
auto *typeConverter = static_cast<LLVMTypeConverter *>(getTypeConverter());
const auto *typeConverter =
static_cast<const LLVMTypeConverter *>(getTypeConverter());

Value input = operandAdaptor.getInput();
StringRef format = printOp.getFormat();
Expand Down
4 changes: 2 additions & 2 deletions src/Conversion/KrnlToLLVM/KrnlPrintTensor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ class KrnlPrintTensorOpLowering : public ConversionPattern {
Location loc = printTensorOp.getLoc();
KrnlPrintTensorOpAdaptor operandAdaptor(operands);
MultiDialectBuilder<LLVMBuilder> create(rewriter, loc);
LLVMTypeConverter *typeConverter =
static_cast<LLVMTypeConverter *>(getTypeConverter());
const LLVMTypeConverter *typeConverter =
static_cast<const LLVMTypeConverter *>(getTypeConverter());

StringRef msg = printTensorOp.getMsg();
Value input = operandAdaptor.getInput();
Expand Down
6 changes: 4 additions & 2 deletions src/Conversion/KrnlToLLVM/KrnlToLLVMHelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,8 @@ void fillOMTensorWithMemRef(Value &outMemRef, Type elemTy, Value &outOMTensor,
}

LLVM::GlobalOp getOrCreateGlobalString(StringRef str, Location loc,
OpBuilder &builder, ModuleOp module, LLVMTypeConverter *typeConverter) {
OpBuilder &builder, ModuleOp module,
const LLVMTypeConverter *typeConverter) {
MultiDialectBuilder<LLVMBuilder> create(builder, loc);
assert(typeConverter && "Expecting a valid LLVM type converter");
LLVM::GlobalOp global = module.lookupSymbol<LLVM::GlobalOp>(
Expand Down Expand Up @@ -223,7 +224,8 @@ Value getPtrToGlobalString(
}

void setAlignment(LLVM::GlobalOp &global, IntegerAttr alignmentAttr,
ModuleOp module, OpBuilder &builder, LLVMTypeConverter &typeConverter) {
ModuleOp module, OpBuilder &builder,
const LLVMTypeConverter &typeConverter) {
if (alignmentAttr && alignmentAttr.getValue().getSExtValue() != 0)
global.setAlignmentAttr(alignmentAttr);
else if (module->getAttr(LLVM::LLVMDialect::getDataLayoutAttrName())) {
Expand Down
4 changes: 2 additions & 2 deletions src/Conversion/KrnlToLLVM/KrnlToLLVMHelper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ void fillOMTensorWithMemRef(mlir::Value &outMemRef, mlir::Type elemTy,
/// Return the GlobalOp for the given string, creating one if not found.
mlir::LLVM::GlobalOp getOrCreateGlobalString(llvm::StringRef str,
mlir::Location loc, mlir::OpBuilder &builder, mlir::ModuleOp module,
mlir::LLVMTypeConverter *typeConverter);
const mlir::LLVMTypeConverter *typeConverter);

/// Return a pointer to the first character in a global string.
mlir::Value getPtrToGlobalString(const mlir::LLVM::GlobalOp &global,
Expand All @@ -49,7 +49,7 @@ mlir::Value getPtrToGlobalString(const mlir::LLVM::GlobalOp &global,
/// to set the alignment based on the module datalayout (if it exists).
void setAlignment(mlir::LLVM::GlobalOp &global, mlir::IntegerAttr alignmentAttr,
mlir::ModuleOp module, mlir::OpBuilder &builder,
mlir::LLVMTypeConverter &typeConverter);
const mlir::LLVMTypeConverter &typeConverter);

/// Return a symbol reference to the strncmp function, inserting it into the
/// module if necessary.
Expand Down
2 changes: 1 addition & 1 deletion src/Conversion/KrnlToLLVM/RuntimeAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Value RuntimeAPI::callApi(OpBuilder &builder, Location loc,
RuntimeAPIRegistry::~RuntimeAPIRegistry() {}

RuntimeAPIRegistry::RuntimeAPIRegistry(
ModuleOp &module, OpBuilder &builder, LLVMTypeConverter &typeConvert)
ModuleOp &module, OpBuilder &builder, const LLVMTypeConverter &typeConvert)
: registry() {
MLIRContext *context = module.getContext();
auto voidTy = LLVM::LLVMVoidType::get(context);
Expand Down
2 changes: 1 addition & 1 deletion src/Conversion/KrnlToLLVM/RuntimeAPI.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class RuntimeAPIRegistry final {
using ApiRegistry = std::map<RuntimeAPI::API, RuntimeAPI>;

RuntimeAPIRegistry(mlir::ModuleOp &module, mlir::OpBuilder &builder,
mlir::LLVMTypeConverter &typeConverter);
const mlir::LLVMTypeConverter &typeConverter);
~RuntimeAPIRegistry();

static const RuntimeAPIRegistry build(
Expand Down
6 changes: 3 additions & 3 deletions src/Conversion/ONNXToKrnl/ControlFlow/Scan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ struct ONNXScanOpLowering : public OpConversionPattern<ONNXScanOp> {
}

static void allocateMemoryForVFinal(mlir::Location loc,
ConversionPatternRewriter &rewriter, TypeConverter *typeConverter,
ConversionPatternRewriter &rewriter, const TypeConverter *typeConverter,
Operation *op, ONNXScanOpAdaptor adaptor,
SmallVectorImpl<mlir::Value> &outputs) {
auto scanOp = dyn_cast<ONNXScanOp>(op);
Expand All @@ -224,7 +224,7 @@ struct ONNXScanOpLowering : public OpConversionPattern<ONNXScanOp> {
}

static void allocateMemoryForScanOutput(mlir::Location loc,
ConversionPatternRewriter &rewriter, TypeConverter *typeConverter,
ConversionPatternRewriter &rewriter, const TypeConverter *typeConverter,
Operation *op, ONNXScanOpAdaptor adaptor,
SmallVectorImpl<mlir::Value> &outputs) {
auto scanOp = dyn_cast<ONNXScanOp>(op);
Expand Down Expand Up @@ -275,7 +275,7 @@ struct ONNXScanOpLowering : public OpConversionPattern<ONNXScanOp> {
}

static mlir::Value allocateMemoryForBodyScanInput(mlir::Location loc,
ConversionPatternRewriter &rewriter, TypeConverter *typeConverter,
ConversionPatternRewriter &rewriter, const TypeConverter *typeConverter,
mlir::Type bodyScanInputTy) {
// Convert type to MemRefType.
Type convertedType = typeConverter->convertType(bodyScanInputTy);
Expand Down
2 changes: 1 addition & 1 deletion src/Conversion/ONNXToKrnl/RNN/GRU.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ std::tuple<GruBiasPack, GruBiasPack> getBiasPack<ONNXGRUOp, GruBiasPack>(
template <>
GruState allocAndInitializeStates<ONNXGRUOp, GruState>(
ConversionPatternRewriter &rewriter, Location loc,
TypeConverter *typeConverter, ONNXGRUOp *op,
const TypeConverter *typeConverter, ONNXGRUOp *op,
typename ONNXGRUOp::Adaptor operandAdaptor) {
GruState state;

Expand Down
2 changes: 1 addition & 1 deletion src/Conversion/ONNXToKrnl/RNN/LSTM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ std::tuple<LstmBiasPack, LstmBiasPack> getBiasPack<ONNXLSTMOp, LstmBiasPack>(
template <>
LstmState allocAndInitializeStates<ONNXLSTMOp, LstmState>(
ConversionPatternRewriter &rewriter, Location loc,
TypeConverter *typeConverter, ONNXLSTMOp *op,
const TypeConverter *typeConverter, ONNXLSTMOp *op,
typename ONNXLSTMOp::Adaptor operandAdaptor) {
LstmState state;

Expand Down
2 changes: 1 addition & 1 deletion src/Conversion/ONNXToKrnl/RNN/RNN.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ std::tuple<RnnBiasPack, RnnBiasPack> getBiasPack<ONNXRNNOp, RnnBiasPack>(
template <>
RnnState allocAndInitializeStates<ONNXRNNOp, RnnState>(
ConversionPatternRewriter &rewriter, Location loc,
TypeConverter *typeConverter, ONNXRNNOp *op,
const TypeConverter *typeConverter, ONNXRNNOp *op,
typename ONNXRNNOp::Adaptor operandAdaptor) {
RnnState state;

Expand Down
6 changes: 4 additions & 2 deletions src/Conversion/ONNXToKrnl/RNN/RNNBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ int64_t dimAt(Value val, int index) {
/// Insert Allocate and Deallocate for the all hidden output.
/// Shape :: [seq_length, num_directions, batch_size, hidden_size]
Value allocAllHidden(ConversionPatternRewriter &rewriter, Location loc,
TypeConverter *typeConverter, Value X, Value W, Value R, Value output) {
const TypeConverter *typeConverter, Value X, Value W, Value R,
Value output) {
MultiDialectBuilder<IndexExprBuilderForKrnl, MemRefBuilder> create(
rewriter, loc);

Expand Down Expand Up @@ -154,7 +155,8 @@ void initializeIntermediateStates(ConversionPatternRewriter &rewriter,
/// Insert Allocate and Deallocate for the hidden or cell output.
/// Shape :: [num_directions, batch_size, hidden_size]
Value allocHiddenOrCell(ConversionPatternRewriter &rewriter, Location loc,
TypeConverter *typeConverter, Value X, Value W, Value R, Value output) {
const TypeConverter *typeConverter, Value X, Value W, Value R,
Value output) {
MultiDialectBuilder<IndexExprBuilderForKrnl, MemRefBuilder> create(
rewriter, loc);
IndexExprScope scope(create.krnlIE);
Expand Down
Loading

0 comments on commit 251f3f6

Please sign in to comment.