llvm-project/llvm/test/CodeGen/PowerPC/topdepthreduce-postra.mir
Akshat Oke 7b60e03d73
Reland "CodeGen][NewPM] Port MachineScheduler to NPM. (#125703)" (#126684)
`RegisterClassInfo` was supposed to be kept alive between pass runs,
which wasn't being done leading to recomputations increasing the compile
time.

Now the Impl class is a member of the legacy and new passes so that it
is not reconstructed on every pass run.

---------

Co-authored-by: Christudasan Devadasan <christudasan.devadasan@amd.com>
2025-02-12 18:54:39 +05:30

20 lines
1.0 KiB
YAML

# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 -run-pass=postmisched -o - %s | FileCheck %s
# RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 -passes=postmisched -o - %s | FileCheck %s
---
# Check that postmisched's TopDepthReduce heuristic moves the MULLD later
# because of the dependency on x5
name: test
body: |
bb.0:
; CHECK-LABEL: name: test
; CHECK: renamable $x5 = LD 0, killed renamable $x5 :: (load (s64))
; CHECK: renamable $x4 = LD 0, killed renamable $x4 :: (load (s64))
; CHECK: renamable $x5 = MULLD killed renamable $x5, renamable $x3
; CHECK: renamable $x3 = MADDLD8 killed renamable $x4, killed renamable $x3, killed renamable $x5
renamable $x5 = LD 0, killed renamable $x5 :: (load (s64))
renamable $x5 = MULLD killed renamable $x5, renamable $x3
renamable $x4 = LD 0, killed renamable $x4 :: (load (s64))
renamable $x3 = MADDLD8 killed renamable $x4, killed renamable $x3, killed renamable $x5
...