[PATCH] D76875: [NFC] [PPC] [AIX] Test improvements for byval arguments that fit in a single register

Chris Bowler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 29 17:40:14 PDT 2020


cebowleratibm marked an inline comment as done.
cebowleratibm added inline comments.


================
Comment at: llvm/test/CodeGen/PowerPC/aix-cc-byval.ll:125
+; The DAG block permits some invalid inputs for the benefit of allowing more valid orderings.
+; 32BIT-DAG:   ADJCALLSTACKDOWN 56, 0, implicit-def dead $r1, implicit $r1
+; 32BIT-DAG:   $r3 = LI 42
----------------
sfertile wrote:
> The AdjustCallStackDown nodes should be a 'CHECK' as opposed to a 'CHECK-DAG'.
The actual output is:

```
    renamable $r3 = LWZtoc @f, $r2 :: (load 4 from got)
    renamable $f1 = LFS 0, killed renamable $r3 :: (dereferenceable load 4 from @f)
    ADJCALLSTACKDOWN 56, 0, implicit-def dead $r1, implicit $r1
    renamable $r3 = LWZtoc @gS2, $r2 :: (load 4 from got)
    renamable $r3 = LHZ 0, killed renamable $r3 :: (load 2)
    renamable $r5 = RLWINM killed renamable $r3, 16, 0, 15
    $r3 = LI 42
    $f2 = COPY renamable $f1
    $r7 = LI 43
    BL_NOP <mcsymbol .test_byval_2Byte>, csr_aix32, implicit-def dead $lr, implicit $rm, implicit $r3, implicit $f1, implicit $r5, implicit killed $f2, implicit killed $r7, implicit $r2, implicit-def $r1, implicit-def dead $r3
    ADJCALLSTACKUP 56, 0, implicit-def dead $r1, implicit $r1
```
I used the CHECK-DAG to keep it in the logical order, however, now I'm thinking we're missing some dependency information in the DAG during the call lowering.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76875/new/

https://reviews.llvm.org/D76875





More information about the llvm-commits mailing list