Skip to content
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

[AArch64] compile crash on "Call operand has unhandled type" #69694

Closed
vfdff opened this issue Oct 20, 2023 · 7 comments
Closed

[AArch64] compile crash on "Call operand has unhandled type" #69694

vfdff opened this issue Oct 20, 2023 · 7 comments
Labels
backend:AArch64 crash Prefer [crash-on-valid] or [crash-on-invalid]

Comments

@vfdff
Copy link
Contributor

vfdff commented Oct 20, 2023

AArch64ISelLowering.cpp:7014: 
void analyzeCallOperands(const llvm::AArch64TargetLowering&, const llvm::AArch64Subtarget*, const llvm::TargetLowering::CallLoweringInfo&, llvm::CCState&): 
Assertion `!Res && "Call operand has unhandled type"' failed
@dtcxzyw dtcxzyw added backend:AArch64 crash Prefer [crash-on-valid] or [crash-on-invalid] and removed new issue labels Oct 20, 2023
@llvmbot
Copy link
Collaborator

llvmbot commented Oct 20, 2023

@llvm/issue-subscribers-backend-aarch64

Author: Allen (vfdff)

* test: https://gcc.godbolt.org/z/1fsW7cjG9
  • report error: clang -march=armv8.3-a+sve -O3 -S reduced.ll
AArch64ISelLowering.cpp:7014: 
void analyzeCallOperands(const llvm::AArch64TargetLowering&, const llvm::AArch64Subtarget*, const llvm::TargetLowering::CallLoweringInfo&, llvm::CCState&): 
Assertion `!Res && "Call operand has unhandled type"' failed

@dtcxzyw
Copy link
Member

dtcxzyw commented Oct 20, 2023

The original Godbolt link is broken.
Godbolt: https://godbolt.org/z/bo339Wjrh

@vfdff
Copy link
Contributor Author

vfdff commented Oct 20, 2023

Thanks for your update, and here is a more simple case reduced by llvm-reduce, https://godbolt.org/z/n66zcKMbc

vfdff added a commit to vfdff/llvm-project that referenced this issue Oct 20, 2023
No definition of calling convention for 256bit vector types

Fixes llvm#69694
@vfdff
Copy link
Contributor Author

vfdff commented Oct 26, 2023

maybe fixed by #70034

@paulwalker-arm
Copy link
Collaborator

I've raised #70847 (currently a WIP just to show intent) that fixes the core code generation problem by ensuring we still honour the existing NEON ABI (be that documented or historical) even when SVE is used to allow better code generation for fixed-length vectors bigger than 128-bit.

@vfdff
Copy link
Contributor Author

vfdff commented Nov 4, 2023

Thanks for the great helping @paulwalker-arm

@vfdff
Copy link
Contributor Author

vfdff commented Dec 8, 2023

Fixed with #70847

@vfdff vfdff closed this as completed Dec 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:AArch64 crash Prefer [crash-on-valid] or [crash-on-invalid]
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants