Integrate LLVM at llvm/llvm-project@95995673d1ba
Updates LLVM usage to match
[95995673d1ba](https://github.com/llvm/llvm-project/commit/95995673d1ba)
PiperOrigin-RevId: 385228604
Change-Id: Ia0abbf2458b827f827ef089b9d4983e3a8f250b5
diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_linalg.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_linalg.cc
index 7497897..e6b2552 100644
--- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_linalg.cc
+++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/legalize_to_linalg.cc
@@ -714,7 +714,7 @@
new_shape, operand_type.getElementType(),
makeStridedLinearLayoutMap(new_strides, operand_offset,
rewriter.getContext()));
- operand = rewriter.create<linalg::CollapseShapeOp>(
+ operand = rewriter.create<memref::CollapseShapeOp>(
op.getLoc(), new_memref_type, operand_adaptor.operand(),
collapsed_dims_list);
}
@@ -873,9 +873,9 @@
if (isLHLO) {
auto collapsed_type = MemRefType::get({total_elems}, elem_type);
- Value collapsed_op = rewriter.create<linalg::CollapseShapeOp>(
+ Value collapsed_op = rewriter.create<memref::CollapseShapeOp>(
loc, collapsed_type, args[0], collapsing_map);
- Value reshape_buffer = rewriter.create<linalg::ExpandShapeOp>(
+ Value reshape_buffer = rewriter.create<memref::ExpandShapeOp>(
loc, result_type, collapsed_op, expanding_map);
rewriter.replaceOpWithNewOp<linalg::CopyOp>(reshape_op, reshape_buffer,
args[1]);
@@ -894,12 +894,12 @@
if (isLHLO) {
Value reshape_buffer = isCollapsing
? rewriter
- .create<linalg::CollapseShapeOp>(
+ .create<memref::CollapseShapeOp>(
reshape_op.getLoc(), result_type,
args[0], reassociation_map)
.getResult()
: rewriter
- .create<linalg::ExpandShapeOp>(
+ .create<memref::ExpandShapeOp>(
reshape_op.getLoc(), result_type,
args[0], reassociation_map)
.getResult();
diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/ral_legalize_to_llvm.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/ral_legalize_to_llvm.cc
index 8286e1d..14c0efb 100644
--- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/ral_legalize_to_llvm.cc
+++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/ral_legalize_to_llvm.cc
@@ -549,7 +549,7 @@
target.addLegalDialect<LLVM::LLVMDialect>();
target.addIllegalDialect<StandardOpsDialect, gpu::GPUDialect,
disc_ral::RalDialect, math::MathDialect>();
- target.addIllegalOp<LLVM::DialectCastOp>();
+ target.addIllegalOp<UnrealizedConversionCastOp>();
// Mark modules as legal.
target.addLegalOp<ModuleOp, gpu::GPUModuleOp>();
// Do not look into gpu modules, only consider host-side.
diff --git a/tensorflow/compiler/mlir/hlo/tests/lhlo-legalize-to-linalg.mlir b/tensorflow/compiler/mlir/hlo/tests/lhlo-legalize-to-linalg.mlir
index deb4c2f..ae096a1 100644
--- a/tensorflow/compiler/mlir/hlo/tests/lhlo-legalize-to-linalg.mlir
+++ b/tensorflow/compiler/mlir/hlo/tests/lhlo-legalize-to-linalg.mlir
@@ -418,7 +418,7 @@
} : (memref<1x5xf32>, memref<5x10x100xf32>) -> ()
return
}
-// CHECK: %[[RESHAPED_ARG:.*]] = linalg.collapse_shape %{{.*}} {{\[}}[0, 1]]
+// CHECK: %[[RESHAPED_ARG:.*]] = memref.collapse_shape %{{.*}} {{\[}}[0, 1]]
// CHECK-SAME: memref<1x5xf32> into memref<5xf32>
// CHECK: linalg.generic {{{.*}}indexing_maps =
// CHECK-SAME: [#[[OPERAND_MAP]], #[[RESULT_MAP]]]
@@ -980,7 +980,7 @@
: (memref<12x1x42xi32>, memref<12x42xi32>) -> ()
return
}
-// CHECK: linalg.collapse_shape %{{.*}} {{\[}}[0, 1], [2]]
+// CHECK: memref.collapse_shape %{{.*}} {{\[}}[0, 1], [2]]
// CHECK-NEXT: linalg.copy
// -----
@@ -991,7 +991,7 @@
: (memref<12x42x1x1xi32>, memref<12x42xi32>) -> ()
return
}
-// CHECK: linalg.collapse_shape %{{.*}} {{\[}}[0], [1, 2, 3]]
+// CHECK: memref.collapse_shape %{{.*}} {{\[}}[0], [1, 2, 3]]
// CHECK-NEXT: linalg.copy
// -----
@@ -1002,7 +1002,7 @@
: (memref<12x42xi32>, memref<12x1x42x1xi32>) -> ()
return
}
-// CHECK: linalg.expand_shape %{{.*}} {{\[}}[0, 1], [2, 3]]
+// CHECK: memref.expand_shape %{{.*}} {{\[}}[0, 1], [2, 3]]
// CHECK-NEXT: linalg.copy
// -----
@@ -1013,8 +1013,8 @@
: (memref<1x49x16xf32>, memref<1x784x1x1xf32>) -> ()
return
}
-// CHECK: linalg.collapse_shape %{{.*}} {{\[}}[0, 1, 2]]
-// CHECK: linalg.expand_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
+// CHECK: memref.collapse_shape %{{.*}} {{\[}}[0, 1, 2]]
+// CHECK: memref.expand_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
// CHECK: linalg.copy
// -----
@@ -1025,8 +1025,8 @@
: (memref<1x8x10x3xf32>, memref<1x240x1xf32>) -> ()
return
}
-// CHECK: linalg.collapse_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
-// CHECK: linalg.expand_shape %{{.*}} {{\[}}[0, 1, 2]]
+// CHECK: memref.collapse_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
+// CHECK: memref.expand_shape %{{.*}} {{\[}}[0, 1, 2]]
// CHECK: linalg.copy
// -----
@@ -1038,8 +1038,8 @@
: (memref<4x512x1x1xi32>, memref<1x4x1x512xi32>) -> ()
return
}
-// CHECK: linalg.collapse_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
-// CHECK: linalg.expand_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
+// CHECK: memref.collapse_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
+// CHECK: memref.expand_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
// -----
@@ -1050,8 +1050,8 @@
: (memref<4x1x1x1024xi32>, memref<4x1024x1x1xi32>) -> ()
return
}
-// CHECK: linalg.collapse_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
-// CHECK: linalg.expand_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
+// CHECK: memref.collapse_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
+// CHECK: memref.expand_shape %{{.*}} {{\[}}[0, 1, 2, 3]]
// -----
diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/tests/bufferize.mlir b/tensorflow/compiler/mlir/tools/kernel_gen/tests/bufferize.mlir
index 553e5b9..272da0c 100644
--- a/tensorflow/compiler/mlir/tools/kernel_gen/tests/bufferize.mlir
+++ b/tensorflow/compiler/mlir/tools/kernel_gen/tests/bufferize.mlir
@@ -246,7 +246,7 @@
// CHECK-LABEL: @tensor_reshape
// CHECK-SAME: (%[[T:.*]]: memref<1x2x2xf32>)
func @tensor_reshape(%t : tensor<1x2x2xf32>) -> tensor<4xf32> {
- // CHECK: linalg.collapse_shape %[[T]] {{.*}} : memref<1x2x2xf32> into memref<4xf32>
+ // CHECK: memref.collapse_shape %[[T]] {{.*}} : memref<1x2x2xf32> into memref<4xf32>
%result = linalg.tensor_collapse_shape %t [[0, 1, 2]] : tensor<1x2x2xf32> into tensor<4xf32>
return %result : tensor<4xf32>
}
diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/tf_kernel_to_llvm_pass.cc b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/tf_kernel_to_llvm_pass.cc
index e1e0eed..0aeddc4 100644
--- a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/tf_kernel_to_llvm_pass.cc
+++ b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/tf_kernel_to_llvm_pass.cc
@@ -278,7 +278,7 @@
target.addIllegalDialect<StandardOpsDialect, complex::ComplexDialect,
gpu::GPUDialect, tf_framework::TFFrameworkDialect,
math::MathDialect>();
- target.addIllegalOp<LLVM::DialectCastOp>();
+ target.addIllegalOp<UnrealizedConversionCastOp>();
// Mark modules as legal.
target.addLegalOp<ModuleOp, gpu::GPUModuleOp>();
// Do not look into gpu modules, only consider host-side.
diff --git a/third_party/llvm/workspace.bzl b/third_party/llvm/workspace.bzl
index 4c51e69..a6f064d 100644
--- a/third_party/llvm/workspace.bzl
+++ b/third_party/llvm/workspace.bzl
@@ -4,8 +4,8 @@
def repo(name):
"""Imports LLVM."""
- LLVM_COMMIT = "d046fb62b7e7cd273b104fee0162725003411c00"
- LLVM_SHA256 = "23621dc52ff5d2621dc7855786af30d9105b25c989fe49697e3026272cdff9b2"
+ LLVM_COMMIT = "95995673d1babee5731146f45ad3ce79c32f06d4"
+ LLVM_SHA256 = "b8ab0654ae7ca965fbc98ad37f00c2f7a6a67159a986166ebc3caad83987f1cf"
tf_http_archive(
name = name,
diff --git a/third_party/mlir/BUILD b/third_party/mlir/BUILD
index cc2bd4a..cace0cc 100644
--- a/third_party/mlir/BUILD
+++ b/third_party/mlir/BUILD
@@ -2433,6 +2433,14 @@
["-gen-op-interface-defs"],
"include/mlir/Dialect/LLVMIR/LLVMOpsInterfaces.cpp.inc",
),
+ (
+ ["-gen-type-interface-decls"],
+ "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.h.inc",
+ ),
+ (
+ ["-gen-type-interface-defs"],
+ "include/mlir/Dialect/LLVMIR/LLVMTypeInterfaces.cpp.inc",
+ ),
],
tblgen = ":mlir-tblgen",
td_file = "include/mlir/Dialect/LLVMIR/LLVMOpsInterfaces.td",
@@ -5846,6 +5854,7 @@
":LLVMDialect",
":LinalgOps",
":LinalgTransforms",
+ ":MemRefToLLVM",
":Pass",
":SCFDialect",
":SCFToStandard",
diff --git a/third_party/mlir/test.BUILD b/third_party/mlir/test.BUILD
index 0648885..65539f3 100644
--- a/third_party/mlir/test.BUILD
+++ b/third_party/mlir/test.BUILD
@@ -233,6 +233,7 @@
"@llvm-project//mlir:Dialect",
"@llvm-project//mlir:IR",
"@llvm-project//mlir:InferTypeOpInterface",
+ "@llvm-project//mlir:LLVMDialect",
"@llvm-project//mlir:Pass",
"@llvm-project//mlir:Reducer",
"@llvm-project//mlir:SideEffects",