[PATCH] D121898: [Verifier] Verify parameter alignment.
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 20 03:25:07 PDT 2022
dmgreen added a comment.
In D121898#3870522 <https://reviews.llvm.org/D121898#3870522>, @LuoYuanke wrote:
> I remove the constrain for intrinsics with https://reviews.llvm.org/D136330. However when testing below intrinsics case, it still crashes on DAGISel.
>
> $ cat param-align.ll
> define dso_local float @foo(<8192 x float> noundef %vec) {
> entry:
> %b = call float @llvm.vector.reduce.fadd.f32.v8192f32(float -0.0, <8192 x float> %vec)
> ret float %b
> }
>
> declare float @llvm.vector.reduce.fadd.f32.v8192f32(float %start_value, <8192 x float> %a)
> $ llc param-align.ll
> llc: /export/users/workspace/opensrc/llvm-project-github/llvm/include/llvm/CodeGen/TargetCallingConv.h:150: void llvm::ISD::ArgFlagsTy::setMemAlign(llvm::Align): Assertion `getNonZeroMemAlign() == A && "bitfield overflow"' failed.
> PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
That is presumably because of the `<8192 x float> noundef %vec` argument for `@foo`. If it was loaded from a pointer, does it still fail? It will be a pretty huge expansion, but should work OK.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D121898/new/
https://reviews.llvm.org/D121898
More information about the llvm-commits
mailing list