[PATCH] D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers
Chris Bowler via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 20 08:38:22 PDT 2020
cebowleratibm marked 2 inline comments as done.
cebowleratibm added inline comments.
================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7167
+ SDNodeFlags AddFlags;
+ AddFlags.setNoUnsignedWrap(true);
+ LoadAddr =
----------------
sfertile wrote:
> If we are setting the no-wrap flags maybe we should set both.
Are you referring to setNoSignedWrap?
Digging a bit more, I think we can use SelectionDAG::getObjectPtrOffset
================
Comment at: llvm/test/CodeGen/PowerPC/aix-cc-byval.ll:208
+
+%struct.S5 = type { [5 x i8] }
+
----------------
sfertile wrote:
> I don't see a lot of utility in testing each of 1 through 8 bytes with nearly exactly the same test. The are each so similar that we end up with a long verbose test with not a lot of practical coverage. Instead how about we add
>
> 1) one of 5,6,7,8 bytes but with other arguments before/after the by val.
> 2) A test with a couple byvals mixed with other arguments.
> 3) One test with a 'large' by val like { [32 x i8] }.
>
> Also use a struct type that isn't just containing an array. Ex if you choose 8 bytes as the size for the test in case 1 use: { i16, i16, i16, i16} as the struct type.
1 and 2. I agree.
3. I already have 31, 32 and 64 byte tests.
I'll change the struct layout in some of the tests.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76380/new/
https://reviews.llvm.org/D76380
More information about the llvm-commits
mailing list