[PATCH] D119338: [AArch64][SVE] Add structured load/store opcodes to getMemOpInfo
David Sherwood via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 10 08:53:01 PST 2022
david-arm added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/ldN-reg-imm-alloca.ll:317
+ %alloca1 = alloca <vscale x 2 x double>, i32 13
+ %alloca2 = alloca <vscale x 4 x i32>, i32 2
+ %base = getelementptr <vscale x 2 x double>, <vscale x 2 x double>* %alloca1, i64 9, i64 0
----------------
sdesmalen wrote:
> alloca2 is unused? (also true for other cases)
This is something I asked @kmclaughlin to do because it's the only way to expose some of the code changes in this patch. All the tests ending _valid_imm do this for that reason. If you look at `isAArch64FrameOffsetLegal` we return a StackOffset, which is always zero for all tests in this file except ones like this. Having a non-zero StackOffset helped to ensure we were calculating the remainder/offset correctly using the Scale property set in `getMemOpInfo`. We can remove the test, but I'm worried we're not fully testing the changes that's all.
For example, in `ld3b_f32_valid_imm` you'll notice the addvl just before the ld3b, which happens precisely because StackOffset is non-zero.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119338/new/
https://reviews.llvm.org/D119338
More information about the llvm-commits
mailing list