StN lane memory size set too big lead to alias analysis goes wrong.
https://github.com/llvm/llvm-project/issues/64696
Details
- Reviewers
dmgreen efriedma - Commits
- rGdb8f6c009e5a: [AArch64] Fix arm neon vstx lane memVT size
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Looks good. Thanks for putting this together. It might be worth checking the tests in the pre-commit, to make sure they are passing.
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
13911–13915 | This can probably be something like auto *StructTy = cast<StructType>(RetTy); unsigned VecNum = StructTy->getNumElements(); Type *VecTy = StructTy->getElementType(0); The cast will then assert that the RetTy is a StructType. | |
llvm/test/CodeGen/AArch64/arm64-neon-st-lane-aa.ll | ||
2 | You might not need -O3, or --check-prefix=CHECK. The check lines could also be generated with update_llc_test_checks. It's a good way to generate consistent tests if it does what you need. Also a quick comment explaining that the order of the st2 should be before the ldrb to the same address might be useful in the long run. |
This test case LLVM.CodeGen/AArch64/GlobalISel::arm64-irtranslator.ll fail, cause the :: intrinsic info not equal s384 != <12 * s32> .
Seem <12 * s32> is more direct? I don't know where it'll affect. @dmgreen
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
13903 | Please also fix the computation for ld2r etc. |
So, I also want to add some test cases for LD like file multi-vector-store-size.ll,
but I can't construct simple cases.
Can you give me an example for ld, LD1Twov4s ...
If you're just having trouble figuring out how to call the intrinsics from IR, there should be a variety of examples in LLVM and clang regression tests. See, for example, llvm/test/CodeGen/AArch64/arm64-ld1.ll .
Otherwise, I'm not sure what you're asking for.
LGTM. Do you have commit access? If not we are happy to commit it for you, we would just need an "name <email@whathaveyou.com>" for the git attribution. Thanks.
Hi, @dmgreen passed the test cases, please commit it "hstk30 <htsk30@gmail.com>", thanks
clang-format not found in user’s local PATH; not linting file.