diff --git a/build_tools/llvm_version.txt b/build_tools/llvm_version.txt index 08d74e9..f9fbb42 100644 --- a/build_tools/llvm_version.txt +++ b/build_tools/llvm_version.txt @@ -1,2 +1,2 @@ -c89447b65984c97145f63be21e42cfa98da60dd2 +26750a1264b3df114a1efae7cde6f0784206b2ce diff --git a/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc b/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc index 7a1b3f4..1ce93b9 100644 --- a/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc +++ b/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc @@ -541,10 +541,6 @@ struct HloLegalizeToLhlo return std::all_of(op.operand_type_begin(), op.operand_type_end(), isMemRefType); }); - target.addDynamicallyLegalOp([&](shape::AssumingOp op) { - return std::all_of(op.result_type_begin(), op.result_type_end(), - isMemRefType); - }); auto kind = results_escape_function ? BufferizeTypeConverter::KeepAsFunctionResult @@ -557,7 +553,8 @@ struct HloLegalizeToLhlo populateWithBufferizeOpConversionPatterns( &context, converter, patterns); - populateShapeTypeConversionPatterns(&context, converter, patterns); + populateShapeStructuralTypeConversionsAndLegality(&context, converter, + patterns, target); if (failed(applyPartialConversion(getOperation(), target, patterns))) signalPassFailure(); } diff --git a/lib/Dialect/mhlo/transforms/lhlo_fuse_linalg.cc b/lib/Dialect/mhlo/transforms/lhlo_fuse_linalg.cc index 8f50ad0..2329487 100644 --- a/lib/Dialect/mhlo/transforms/lhlo_fuse_linalg.cc +++ b/lib/Dialect/mhlo/transforms/lhlo_fuse_linalg.cc @@ -121,7 +121,7 @@ class LhloFuseLinalgPass for (unsigned id = 0, e = LinalgOp(op).getNumInputs(); id < e; ++id) { linalg::Aliases aliases; linalg::LinalgDependenceGraph graph(aliases, linalg_ops); - if (auto info = fuseProducerOf(b, op, id, graph, &folder)) { + if (auto info = fuseProducerOfBuffer(b, op, id, graph, &folder)) { auto originalOp = info->originalProducer.getOperation(); erase_set.insert(originalOp); auto originalOpInLinalgOpsVector = std::find_if(