Integrate llvm 20231012 (#15163)
Carrying local reverts for:
* https://github.com/openxla/iree/issues/15083 (fixes still being made)
* https://github.com/llvm/llvm-project/pull/67816 while we sync to a
corresponding TF version
* https://github.com/llvm/llvm-project/pull/67809, which has already
been reverted at HEAD and will drop on its own
Landing with local revert: #15207
---------
Co-authored-by: Kunwar Grover <groverkss@gmail.com>
Co-authored-by: Julian Walker <julianreidwalker@gmail.com>
diff --git a/a.out b/a.out
new file mode 100755
index 0000000..b3d4e80
--- /dev/null
+++ b/a.out
Binary files differ
diff --git a/compiler/src/iree/compiler/Codegen/Common/Passes.td b/compiler/src/iree/compiler/Codegen/Common/Passes.td
index d56d109..40edf1c 100644
--- a/compiler/src/iree/compiler/Codegen/Common/Passes.td
+++ b/compiler/src/iree/compiler/Codegen/Common/Passes.td
@@ -442,11 +442,10 @@
"Optional filename containing a transform dialect specification to "
"apply. If left empty, the IR is assumed to contain one top-level "
"transform dialect operation somewhere in the module.">,
- Option<"transformLibraryFileName",
- "transform-library-file-name",
+ ListOption<"transformLibraryPaths",
+ "transform-library-paths",
"std::string",
- /*default=*/"\"\"",
- "If non-empty, the name of the file containing definitions of "
+ "If non-empty, the paths to files containing definitions of "
"external symbols referenced in the transform script. "
"These definitions will be used to replace declarations.">,
Option<"debugPayloadRootTag", "debug-payload-root-tag", "std::string",
diff --git a/compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.td b/compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.td
index 2591ff8..1b3edf4 100644
--- a/compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.td
+++ b/compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.td
@@ -136,11 +136,10 @@
"Optional filename containing a transform dialect specification to "
"apply. If left empty, the IR is assumed to contain one top-level "
"transform dialect operation somewhere in the module.">,
- Option<"transformLibraryFileName",
- "transform-library-file-name",
+ ListOption<"transformLibraryPaths",
+ "transform-library-paths",
"std::string",
- /*default=*/"\"\"",
- "If non-empty, the name of the file containing definitions of "
+ "If non-empty, the paths to files containing definitions of "
"external symbols referenced in the transform script. "
"These definitions will be used to replace declarations.">,
Option<"debugPayloadRootTag", "debug-payload-root-tag", "std::string",
diff --git a/compiler/src/iree/compiler/InputConversion/TOSA/Passes.cpp b/compiler/src/iree/compiler/InputConversion/TOSA/Passes.cpp
index 0b28c92..a559350 100644
--- a/compiler/src/iree/compiler/InputConversion/TOSA/Passes.cpp
+++ b/compiler/src/iree/compiler/InputConversion/TOSA/Passes.cpp
@@ -49,7 +49,7 @@
iree_compiler::createTosaToLinalgExt());
passManager.addNestedPass<func::FuncOp>(mlir::createCanonicalizerPass());
- tosa::addTosaToLinalgPasses(passManager);
+ tosa::addTosaToLinalgPasses(passManager, TosaToLinalgOptions());
passManager.addNestedPass<func::FuncOp>(
iree_compiler::createConverti48Toi64());
diff --git a/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/Passes/TransformInterpreter.cpp b/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/Passes/TransformInterpreter.cpp
index 26c4777..4d78e41 100644
--- a/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/Passes/TransformInterpreter.cpp
+++ b/llvm-external-projects/iree-dialects/lib/Dialect/LinalgTransform/Passes/TransformInterpreter.cpp
@@ -119,12 +119,11 @@
"Select the operation with 'transform.target_tag' attribute having "
"the given value as container IR for top-level transform ops."),
::llvm::cl::init("")};
- Pass::Option<std::string> transformLibraryFileName{
- *this, "transform-library-file-name",
+ Pass::ListOption<std::string> transformLibraryPaths{
+ *this, "transform-library-paths", llvm::cl::ZeroOrMore,
llvm::cl::desc(
"Optional name of the file containing transform dialect symbol "
- "definitions to be injected into the transform module."),
- llvm::cl::init("")};
+ "definitions to be injected into the transform module.")};
};
struct DropSchedulePass : public PassWrapper<DropSchedulePass, Pass> {
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 1151cc3..be444b6 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 1151cc387a4ff519f2fc70d37137505a448df829
+Subproject commit be444b6640c715476e405da8518ce204520aded8