Integrate LLVM at llvm/llvm-project@5cb14dc5a3a6
Updates LLVM usage to match
[5cb14dc5a3a6](https://github.com/llvm/llvm-project/commit/5cb14dc5a3a6)
PiperOrigin-RevId: 452042666
diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/gml_st/transforms/bufferize_tiled_loop.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/gml_st/transforms/bufferize_tiled_loop.cc
index 2215f39..bbd56ad 100644
--- a/tensorflow/compiler/mlir/hlo/lib/Dialect/gml_st/transforms/bufferize_tiled_loop.cc
+++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/gml_st/transforms/bufferize_tiled_loop.cc
@@ -377,7 +377,7 @@
mlir::bufferization::getPartialBufferizationOptions();
// TODO(springerm): Add dialects to this filter as more and more dialects
// will be migrated to BufferizableOpInterface-based bufferization.
- options.allowDialectInFilter<shape::ShapeDialect>();
+ options.opFilter.allowDialect<shape::ShapeDialect>();
if (failed(mlir::bufferization::bufferizeOp(getOperation(), options))) {
signalPassFailure();
return;
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 2a1ad18..27636ef 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
@@ -432,7 +432,7 @@
bufferization::getPartialBufferizationOptions();
// TODO(springerm): Add dialects to this filter as more and more dialects
// will be migrated to BufferizableOpInterface-based bufferization.
- options.allowDialectInFilter<shape::ShapeDialect>();
+ options.opFilter.allowDialect<shape::ShapeDialect>();
return bufferization::bufferizeOp(getOperation(), options);
}
diff --git a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_memref.cc b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_memref.cc
index d353bdd..0b698af 100644
--- a/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_memref.cc
+++ b/tensorflow/compiler/mlir/hlo/lib/Dialect/mhlo/transforms/hlo_legalize_to_memref.cc
@@ -316,7 +316,7 @@
void runOnOperation() override {
bufferization::BufferizationOptions options =
bufferization::getPartialBufferizationOptions();
- options.allowDialectInFilter<mhlo::MhloDialect>();
+ options.opFilter.allowDialect<mhlo::MhloDialect>();
if (failed(bufferizeOp(getOperation(), options))) signalPassFailure();
}
};
diff --git a/tensorflow/compiler/mlir/hlo/lib/Transforms/bufferize_pass.cc b/tensorflow/compiler/mlir/hlo/lib/Transforms/bufferize_pass.cc
index e888187..b7f2a51 100644
--- a/tensorflow/compiler/mlir/hlo/lib/Transforms/bufferize_pass.cc
+++ b/tensorflow/compiler/mlir/hlo/lib/Transforms/bufferize_pass.cc
@@ -143,12 +143,12 @@
bufferization::getPartialBufferizationOptions();
// TODO(springerm): Add dialects to this filter as more and more dialects
// will be migrated to BufferizableOpInterface-based bufferization.
- options.allowDialectInFilter<bufferization::BufferizationDialect,
- linalg::LinalgDialect, mhlo::MhloDialect,
- shape::ShapeDialect, tensor::TensorDialect,
- vector::VectorDialect>();
+ options.opFilter.allowDialect<bufferization::BufferizationDialect,
+ linalg::LinalgDialect, mhlo::MhloDialect,
+ shape::ShapeDialect, tensor::TensorDialect,
+ vector::VectorDialect>();
// Ops inside TiledLoopOps have special handling.
- options.denyOperationInFilter([](Operation* op) {
+ options.opFilter.denyOperation([](Operation* op) {
return mlir::isa<gml_st::LoopOp>(op->getParentOp());
});
@@ -289,7 +289,7 @@
options.bufferAlignment = alignment_;
// TODO(springerm): Add dialects to this filter as more and more dialects
// will be migrated to BufferizableOpInterface-based bufferization.
- options.allowDialectInFilter<
+ options.opFilter.allowDialect<
arith::ArithmeticDialect, bufferization::BufferizationDialect,
linalg::LinalgDialect, func::FuncDialect, shape::ShapeDialect,
tensor::TensorDialect, vector::VectorDialect>();
diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/kernel_creator.cc b/tensorflow/compiler/mlir/tools/kernel_gen/kernel_creator.cc
index 6e3e143..3ad4374 100644
--- a/tensorflow/compiler/mlir/tools/kernel_gen/kernel_creator.cc
+++ b/tensorflow/compiler/mlir/tools/kernel_gen/kernel_creator.cc
@@ -273,8 +273,7 @@
if (!cpu_codegen) {
// Greedily map the remaining loop to GPU hardware dimensions.
- pm.addNestedPass<FuncOp>(
- mlir::kernel_gen::transforms::CreateMapParallelLoopsPass());
+ pm.addNestedPass<FuncOp>(mlir::createGpuMapParallelLoopsPass());
}
// Expand memref_reshape to its ranked form so that we can propagate
diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/BUILD b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/BUILD
index 36552fb..8fa90e4 100644
--- a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/BUILD
+++ b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/BUILD
@@ -99,7 +99,6 @@
name = "gpu_passes",
srcs = [
"gpu_kernel_to_blob_pass.cc",
- "map_parallel_loops_to_gpu.cc",
"tf_kernel_to_llvm_pass.cc",
],
hdrs = ["passes.h"],
diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/map_parallel_loops_to_gpu.cc b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/map_parallel_loops_to_gpu.cc
deleted file mode 100644
index c15ac60..0000000
--- a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/map_parallel_loops_to_gpu.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-==============================================================================*/
-
-#include "mlir/Dialect/Func/IR/FuncOps.h" // from @llvm-project
-#include "mlir/Dialect/GPU/ParallelLoopMapper.h" // from @llvm-project
-#include "tensorflow/compiler/mlir/tools/kernel_gen/transforms/passes.h"
-
-namespace mlir {
-namespace kernel_gen {
-namespace transforms {
-namespace {
-
-#define GEN_PASS_CLASSES
-#include "tensorflow/compiler/mlir/tools/kernel_gen/transforms/kernel_gen_passes.h.inc"
-
-struct MapParallelLoopsPass : MapParallelLoopsPassBase<MapParallelLoopsPass> {
- void runOnOperation() override {
- mlir::greedilyMapParallelSCFToGPU(getOperation().getBody());
- }
-};
-
-} // namespace
-
-std::unique_ptr<mlir::OperationPass<mlir::func::FuncOp>>
-CreateMapParallelLoopsPass() {
- return std::make_unique<MapParallelLoopsPass>();
-}
-
-} // namespace transforms
-} // namespace kernel_gen
-} // namespace mlir
diff --git a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/passes.td b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/passes.td
index 6006697..2cdf045 100644
--- a/tensorflow/compiler/mlir/tools/kernel_gen/transforms/passes.td
+++ b/tensorflow/compiler/mlir/tools/kernel_gen/transforms/passes.td
@@ -117,15 +117,6 @@
let dependentDialects = ["LLVM::LLVMDialect"];
}
-def MapParallelLoopsPass
- : Pass<"map-parallel-loops-to-gpu", "mlir::func::FuncOp"> {
- let summary = "Greedily maps loops to GPU hardware dimensions.";
- let constructor = "transforms::CreateMapParallelLoopsPass()";
- let description = [{
- Greedily maps loops to GPU hardware dimensions.
- }];
-}
-
def FuseInnerParallelLoopsPass
: Pass<"fuse-inner-parallel-loops", "mlir::func::FuncOp"> {
let summary = "Limited pass to forward stores to loads.";
diff --git a/third_party/llvm/workspace.bzl b/third_party/llvm/workspace.bzl
index bec25a9..922f472 100644
--- a/third_party/llvm/workspace.bzl
+++ b/third_party/llvm/workspace.bzl
@@ -4,8 +4,8 @@
def repo(name):
"""Imports LLVM."""
- LLVM_COMMIT = "9191078707390c32b691ff84633ab9450b380ea5"
- LLVM_SHA256 = "a679b48456e8477eea5cbe4efb18f14ecfe21ddf011988c81150d59bfd89a8e4"
+ LLVM_COMMIT = "5cb14dc5a3a6bcd0f6ca1e56a36ab0d7c4b0b202"
+ LLVM_SHA256 = "29cf8cbc0ef4818e7d80c67490481303149e5d0d875202934c11f6eb10876ea8"
tf_http_archive(
name = name,