-
Notifications
You must be signed in to change notification settings - Fork 553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iree-compile failures with n-D vector.bitcast ops #17780
Comments
cc @banach-space @mub-at-arm this is breaking IREE, so we reverted it on our llvm-project fork. We'll need some help to land it to IREE. Can we revert the upstream commit until it's fixed? I can help provide a repro without IREE specifics. |
Sorry, I missed this yesterday (for whatever reason I assumed #17780 was identical). For this one it looks like IREE is missing some patterns. Indeed, this worked for me (we need to add diff --git a/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp b/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
index 22b4ce09a1..60d689d70c 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMCPU/ConvertToLLVM.cpp
@@ -1049,6 +1049,7 @@ void ConvertToLLVMPass::runOnOperation() {
arith::populateArithToLLVMConversionPatterns(typeConverter, patterns);
arith::populateExpandBFloat16Patterns(patterns);
populateVectorToSCFConversionPatterns(patterns);
+ vector::populateVectorBitCastLoweringPatterns(patterns);
populateVectorToLLVMMatrixConversionPatterns(typeConverter, patterns);
populateVectorToLLVMConversionPatterns(
typeConverter, patterns, targetReassociateFpReductions.getValue());
diff --git a/third_party/llvm-project b/third_party/llvm-project
index 8ded6ce55d..c31a6ef9fc 160000
--- a/third_party/llvm-project
+++ b/third_party/llvm-project
@@ -1 +1 @@
-Subproject commit 8ded6ce55deafcad4b78ec814f1ecc80f9889392
+Subproject commit c31a6ef9fca11ff5c662019f8a4d3feac860b24c I am travelling this week and most of our team is OOO. This is me trying to say - apologies if there's a delay from our side 😅 I prepared a PR for ^^^: |
Fixes iree-org#17780 Signed-off-by: Andrzej Warzynski <andrzej.warzynski@arm.com>
Thanks thanks, and sorry for bothering you when you're traveling. I think we can land the change with dropping the local revert LLVM commit. It could need additional permission, so I'll coordinate with the integrator this week. Also, I need to figure out if we can directly add it to EmulateNarrowType pass. It can be done later. Thanks again for looking at this! |
Not at all - this is a work trip, so no excuses :-) |
llvm/llvm-project@137a745 enables support for n-D
arith.trunci
narrow type emulation. This causes iree-compile failures in the benchmark suite, so it is reverted in IREE by #17770.The compiler failure can be reproduced with these steps:
iree-compile --output-format=vm-bytecode --mlir-print-op-on-diagnostic=false --iree-hal-target-backends=llvm-cpu --iree-input-type=none --iree-llvmcpu-target-triple=aarch64-none-linux-android29 --iree-opt-data-tiling=true --iree-llvmcpu-enable-ukernels=all --iree-llvmcpu-target-cpu-features=+dotprod --iree-vm-emit-polyglot-zip=true --iree-llvmcpu-debug-symbols=false linalg.mlir -o /tmp/linalg.vmfb
:This should cause the error:
The text was updated successfully, but these errors were encountered: