diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo.cc index d68fe920fe8..42d6d70b524 100644 --- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo.cc +++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/chlo_legalize_to_hlo.cc @@ -516,7 +516,7 @@ struct HloCompareAdaptor { void PopulateLegalizeChloToHloPatterns(MLIRContext *context, OwningRewritePatternList *patterns) { - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); // Instantiate conversion templates for conforming binary elementwise ops // that do not have different dtypes between operands and results and do diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc index 75ecafcf718..a2a940e2c58 100644 --- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc +++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_lhlo.cc @@ -464,9 +464,9 @@ struct HloLegalizeToLhlo populateHLOToLHLOConversionPattern(&context, &converter, &patterns); populateWithBufferAssignmentOpConversionPatterns< - mlir::ReturnOp, mlir::ReturnOp, lmhlo::CopyOp>(&context, &converter, - &patterns); - populateShapeTypeConversionPatterns(&context, &converter, &patterns); + mlir::ReturnOp, mlir::ReturnOp, lmhlo::CopyOp>(&context, converter, + patterns); + populateShapeTypeConversionPatterns(&context, converter, patterns); if (failed(applyPartialConversion(getOperation(), target, patterns))) signalPassFailure(); } @@ -531,7 +531,7 @@ void populateHLOToLHLOConversionPattern( HloToLhloReturnOpConverter, HloToLhloTensorLoadOpConverter, HloToLhloTensorStoreOpConverter - >(context, converter); + >(context, *converter); // clang-format on } diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_standard.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_standard.cc index d2d4bab45ab..84255c2810e 100644 --- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_standard.cc +++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_standard.cc @@ -193,7 +193,7 @@ std::unique_ptr> createLegalizeToStdPass() { void PopulateMhloToStdPatterns(OwningRewritePatternList *patterns, mlir::MLIRContext *ctx) { - mlir::populateWithGenerated(ctx, patterns); + mlir::populateWithGenerated(ctx, *patterns); patterns->insert(ctx); } diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/lower_complex.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/lower_complex.cc index 90763b1381a..491f1c01cf7 100644 --- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/lower_complex.cc +++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/lower_complex.cc @@ -59,7 +59,7 @@ namespace { void PopulateComplexLoweringPatterns(MLIRContext* context, OwningRewritePatternList* patterns) { - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); } } // end namespace mhlo } // end namespace mlir diff --git a/tensorflow/compiler/mlir/lite/transforms/legalize_tf.cc b/tensorflow/compiler/mlir/lite/transforms/legalize_tf.cc index 6f7f3b88471..13c7a08a094 100644 --- a/tensorflow/compiler/mlir/lite/transforms/legalize_tf.cc +++ b/tensorflow/compiler/mlir/lite/transforms/legalize_tf.cc @@ -665,7 +665,7 @@ void LegalizeTF::runOnFunction() { auto func = getFunction(); // Add the generated patterns to the list. - populateWithGenerated(context, &patterns); + populateWithGenerated(context, patterns); patterns .insert(); OwningRewritePatternList patterns; - populateWithGenerated(context, &patterns); + populateWithGenerated(context, patterns); patterns.insert, FuseFullyConnectedAndReluX, diff --git a/tensorflow/compiler/mlir/lite/transforms/post_quantize.cc b/tensorflow/compiler/mlir/lite/transforms/post_quantize.cc index 1c6550bc902..ca30b2f1fcf 100644 --- a/tensorflow/compiler/mlir/lite/transforms/post_quantize.cc +++ b/tensorflow/compiler/mlir/lite/transforms/post_quantize.cc @@ -144,7 +144,7 @@ void PostQuantizePass::runOnFunction() { OwningRewritePatternList patterns; auto func = getFunction(); auto* ctx = func.getContext(); - TFL::populateWithGenerated(ctx, &patterns); + TFL::populateWithGenerated(ctx, patterns); patterns.insert>(ctx); applyPatternsAndFoldGreedily(func, patterns); diff --git a/tensorflow/compiler/mlir/lite/transforms/prepare_tf.cc b/tensorflow/compiler/mlir/lite/transforms/prepare_tf.cc index 5cd9113d441..ecca3d38deb 100644 --- a/tensorflow/compiler/mlir/lite/transforms/prepare_tf.cc +++ b/tensorflow/compiler/mlir/lite/transforms/prepare_tf.cc @@ -1203,7 +1203,7 @@ void PrepareTFPass::runOnFunction() { ConvertTFDilatedConvOp>(ctx); patterns.insert(ctx); - TFL::populateWithGenerated(ctx, &patterns); + TFL::populateWithGenerated(ctx, patterns); // TODO(karimnosseir): Split to separate pass probably after // deciding on long term plan for this optimization. // This will allow optimizing any TF_Mul->TF_Conv in the graph @@ -1214,7 +1214,7 @@ void PrepareTFPass::runOnFunction() { // Load the generated pattern again, so new quantization pass-through // will be applied. patterns.clear(); - TFL::populateWithGenerated(ctx, &patterns); + TFL::populateWithGenerated(ctx, patterns); if (unfold_batch_matmul_) { patterns.insert, TF::ConvertTFBatchMatMulOp>(ctx); diff --git a/tensorflow/compiler/mlir/lite/transforms/quantize.cc b/tensorflow/compiler/mlir/lite/transforms/quantize.cc index ba25b5c897c..529e57780c3 100644 --- a/tensorflow/compiler/mlir/lite/transforms/quantize.cc +++ b/tensorflow/compiler/mlir/lite/transforms/quantize.cc @@ -84,7 +84,7 @@ void QuantizePass::runOnFunction() { OwningRewritePatternList patterns; auto func = getFunction(); auto* ctx = func.getContext(); - TFL::populateWithGenerated(ctx, &patterns); + TFL::populateWithGenerated(ctx, patterns); patterns.insert( ctx, enable_numeric_verify, error_tolerance, enable_single_layer_verify); applyPatternsAndFoldGreedily(func, patterns); diff --git a/tensorflow/compiler/mlir/tensorflow/transforms/decompose_resource_ops.cc b/tensorflow/compiler/mlir/tensorflow/transforms/decompose_resource_ops.cc index 4737f44ae1e..28a5c583919 100644 --- a/tensorflow/compiler/mlir/tensorflow/transforms/decompose_resource_ops.cc +++ b/tensorflow/compiler/mlir/tensorflow/transforms/decompose_resource_ops.cc @@ -73,7 +73,7 @@ static Type GetResourceSubtype(Value resource) { void PopulateDecomposeResourceOpsPatterns(MLIRContext *context, OwningRewritePatternList *patterns) { - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); } } // namespace TF diff --git a/tensorflow/compiler/mlir/tensorflow/transforms/legalize_hlo.cc b/tensorflow/compiler/mlir/tensorflow/transforms/legalize_hlo.cc index 8e93a7e7470..8ab348c1e5b 100644 --- a/tensorflow/compiler/mlir/tensorflow/transforms/legalize_hlo.cc +++ b/tensorflow/compiler/mlir/tensorflow/transforms/legalize_hlo.cc @@ -821,7 +821,7 @@ static PassRegistration pass( void PopulateLegalizeHloToTfPatterns(OwningRewritePatternList *patterns, MLIRContext *context) { - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); patterns->insert(context); diff --git a/tensorflow/compiler/mlir/tensorflow/transforms/lower_tf.cc b/tensorflow/compiler/mlir/tensorflow/transforms/lower_tf.cc index 1ad6bde1013..002117f15d8 100644 --- a/tensorflow/compiler/mlir/tensorflow/transforms/lower_tf.cc +++ b/tensorflow/compiler/mlir/tensorflow/transforms/lower_tf.cc @@ -780,7 +780,7 @@ void PopulateLoweringTFPatterns(MLIRContext *context, LowerDynamicStitchOp, LowerInvertPermutationOp, LowerPackOp, LowerSpaceToBatchNDOp, LowerSparseMatMulOp, Lower_UnaryOpsComposition>(context); - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); } } // namespace TF diff --git a/tensorflow/compiler/mlir/tensorflow/transforms/optimize.cc b/tensorflow/compiler/mlir/tensorflow/transforms/optimize.cc index 24e77d31e7c..29ecc38de0b 100644 --- a/tensorflow/compiler/mlir/tensorflow/transforms/optimize.cc +++ b/tensorflow/compiler/mlir/tensorflow/transforms/optimize.cc @@ -37,7 +37,7 @@ struct TFOptimizePass : public PassWrapper { void runOnFunction() override { OwningRewritePatternList patterns; auto func = getFunction(); - populateWithGenerated(&getContext(), &patterns); + populateWithGenerated(&getContext(), patterns); applyPatternsAndFoldGreedily(func, patterns); } }; diff --git a/tensorflow/compiler/mlir/tensorflow/transforms/tf_data_optimization.cc b/tensorflow/compiler/mlir/tensorflow/transforms/tf_data_optimization.cc index 786c4b74b34..f2321df9823 100644 --- a/tensorflow/compiler/mlir/tensorflow/transforms/tf_data_optimization.cc +++ b/tensorflow/compiler/mlir/tensorflow/transforms/tf_data_optimization.cc @@ -58,7 +58,7 @@ struct FuseParallelMapAndBatch : public OpRewritePattern { void PopulateTFDataOptimizationPatterns(MLIRContext *context, OwningRewritePatternList *patterns) { patterns->insert(context); - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); } } // namespace TF diff --git a/tensorflow/compiler/mlir/tfjs/transforms/optimize.cc b/tensorflow/compiler/mlir/tfjs/transforms/optimize.cc index a3678f7d154..5d3ee121577 100644 --- a/tensorflow/compiler/mlir/tfjs/transforms/optimize.cc +++ b/tensorflow/compiler/mlir/tfjs/transforms/optimize.cc @@ -50,7 +50,7 @@ void Optimize::runOnFunction() { auto *ctx = &getContext(); auto func = getFunction(); - populateWithGenerated(ctx, &patterns); + populateWithGenerated(ctx, patterns); applyPatternsAndFoldGreedily(func, patterns); } } // namespace diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize.cc b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize.cc index 469d6cbe5b9..f6a47cca6d0 100644 --- a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize.cc +++ b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize.cc @@ -162,7 +162,7 @@ class SimpleOpResultConversion LogicalResult matchAndRewrite( OpTy op, ArrayRef operands, ConversionPatternRewriter &rewriter) const final { - rewriter.replaceOpWithNewOp(op, converter->convertType(op.getType()), + rewriter.replaceOpWithNewOp(op, converter.convertType(op.getType()), operands); return success(); } @@ -180,7 +180,7 @@ class TensorCastOpConverter Value arg = operands.front(); if (!arg.getType().isa()) return failure(); - auto result_ty = converter->convertType(op.getType()); + auto result_ty = converter.convertType(op.getType()); rewriter.replaceOpWithNewOp(op, arg, result_ty); return success(); @@ -195,7 +195,7 @@ void populateStandardBufferizePattern(MLIRContext *context, patterns->insert, TensorLoadOpConversion, - TensorCastOpConverter>(context, converter); + TensorCastOpConverter>(context, *converter); } } // namespace transforms diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize_pass.cc b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize_pass.cc index 7ba44ff68e4..1ddc44123fa 100644 --- a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize_pass.cc +++ b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/bufferize_pass.cc @@ -104,9 +104,9 @@ struct BufferizePass : public BufferizePassBase { mhlo::populateHLOToLHLOConversionPattern(&context, &converter, &patterns); populateWithBufferAssignmentOpConversionPatterns( - &context, &converter, &patterns); + &context, converter, patterns); populateStandardBufferizePattern(&context, &converter, &patterns); - populateShapeTypeConversionPatterns(&context, &converter, &patterns); + populateShapeTypeConversionPatterns(&context, converter, patterns); patterns.insert(&context); auto module = getOperation(); diff --git a/tensorflow/compiler/mlir/xla/transforms/legalize_tf.cc b/tensorflow/compiler/mlir/xla/transforms/legalize_tf.cc index 6a47d892f34..d541270f671 100644 --- a/tensorflow/compiler/mlir/xla/transforms/legalize_tf.cc +++ b/tensorflow/compiler/mlir/xla/transforms/legalize_tf.cc @@ -6104,7 +6104,7 @@ LogicalResult legalizeTF( void PopulateLegalizeTfPatterns(MLIRContext *context, OwningRewritePatternList *patterns) { - populateWithGenerated(context, patterns); + populateWithGenerated(context, *patterns); patterns->insert< ConvertAllOp, ConvertAnyOp, ConvertArgMaxOp, ConvertBatchMatMulV2Op, ConvertBiasAddOp, ConvertBroadcastToOp, ConvertBF16FloorDivOp, diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl index dde72341cc0..e3b9a3557a4 100755 --- a/tensorflow/workspace.bzl +++ b/tensorflow/workspace.bzl @@ -712,8 +712,8 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""): ) # Check out LLVM and MLIR from llvm-project. - LLVM_COMMIT = "93377888ae89560ba6d3976e2762d3d4724c4dfd" - LLVM_SHA256 = "606e772f64024cf6c56b31cd1f5fa700c789a22181c73365498973ac73892f91" + LLVM_COMMIT = "6713332fddb796f5b14fcb6a7e5d36979676e4ab" + LLVM_SHA256 = "d83051da693c4165a8bd9a2703c806820d5146188b1036fd94300fafa09aae50" LLVM_URLS = [ "https://storage.googleapis.com/mirror.tensorflow.org/github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT), "https://github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT),