Integrate llvm-project@7c69491 (#19008)
Retains the revert for llvm-project@1004865
diff --git a/compiler/plugins/target/LLVMCPU/LLVMIRPasses.cpp b/compiler/plugins/target/LLVMCPU/LLVMIRPasses.cpp
index 1e79555..c045c06 100644
--- a/compiler/plugins/target/LLVMCPU/LLVMIRPasses.cpp
+++ b/compiler/plugins/target/LLVMCPU/LLVMIRPasses.cpp
@@ -56,7 +56,7 @@
case SanitizerKind::kAddress: {
passBuilder.registerOptimizerLastEPCallback(
[](llvm::ModulePassManager &modulePassManager,
- llvm::OptimizationLevel Level) {
+ llvm::OptimizationLevel Level, llvm::ThinOrFullLTOPhase) {
llvm::AddressSanitizerOptions opts;
// Can use Never or Always, just not the default Runtime, which
// introduces a reference to
@@ -73,7 +73,7 @@
case SanitizerKind::kThread: {
passBuilder.registerOptimizerLastEPCallback(
[](llvm::ModulePassManager &modulePassManager,
- llvm::OptimizationLevel Level) {
+ llvm::OptimizationLevel Level, llvm::ThinOrFullLTOPhase) {
modulePassManager.addPass(llvm::ModuleThreadSanitizerPass());
modulePassManager.addPass(llvm::createModuleToFunctionPassAdaptor(
llvm::ThreadSanitizerPass()));
diff --git a/compiler/plugins/target/ROCM/test/opt_pass_plugin/GPUHello.cpp b/compiler/plugins/target/ROCM/test/opt_pass_plugin/GPUHello.cpp
index 6433530..ada0382 100644
--- a/compiler/plugins/target/ROCM/test/opt_pass_plugin/GPUHello.cpp
+++ b/compiler/plugins/target/ROCM/test/opt_pass_plugin/GPUHello.cpp
@@ -67,10 +67,11 @@
llvm::PassPluginLibraryInfo getPassPluginInfo() {
const auto callback = [](llvm::PassBuilder &pb) {
- pb.registerOptimizerLastEPCallback([&](llvm::ModulePassManager &mpm, auto) {
- mpm.addPass(GpuHello());
- return true;
- });
+ pb.registerOptimizerLastEPCallback(
+ [&](llvm::ModulePassManager &mpm, auto, auto) {
+ mpm.addPass(GpuHello());
+ return true;
+ });
};
return {LLVM_PLUGIN_API_VERSION, "gpu-hello", LLVM_VERSION_STRING, callback};
};
diff --git a/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp b/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp
index 83ac234..b14bb08 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp
+++ b/compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp
@@ -105,7 +105,7 @@
return APInt(16, b0 | (b1 << 8));
} else if (b0 == b4 && b1 == b5 && b2 == b6 && b3 == b7) {
// 0xAABBCCDDAABBCCDD : i64 => 0xAABBCCDD : i32
- return APInt(32, b0 | (b1 << 8) | (b2 << 16) | (b3 << 32));
+ return APInt(32, b0 | (b1 << 8) | (b2 << 16) | (b3 << 24));
}
return pattern;
}
diff --git a/compiler/src/iree/compiler/Dialect/Stream/IR/test/tensor_folding.mlir b/compiler/src/iree/compiler/Dialect/Stream/IR/test/tensor_folding.mlir
index 08ad4a1..05ef820 100644
--- a/compiler/src/iree/compiler/Dialect/Stream/IR/test/tensor_folding.mlir
+++ b/compiler/src/iree/compiler/Dialect/Stream/IR/test/tensor_folding.mlir
@@ -145,7 +145,7 @@
util.func private @NarrowSplatPatternI64ToI32() -> !stream.resource<*> {
%c100 = arith.constant 100 : index
%pattern = arith.constant 0xAABBCCDDAABBCCDD : i64
- // CHECK: stream.tensor.splat %c12307677_i32
+ // CHECK: stream.tensor.splat %c-1430532899_i32
%0 = stream.tensor.splat %pattern : i64 -> tensor<2x2xf32> in !stream.resource<*>{%c100}
util.return %0 : !stream.resource<*>
}
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 854df1e..8323ca8 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 854df1eecb66c5e034a28f18a01cfadba29cfc42
+Subproject commit 8323ca8956aec45713231e06768a0b330f83cce1