xref: /llvm-project/llvm/test/CodeGen/AArch64/machine-outliner-mapping-stats.mir (revision b514b45d7baa7f9b35bc2cd9eb95662b130af80d)
1# RUN: llc -mtriple=aarch64 -run-pass=machine-outliner -verify-machineinstrs -stats %s -o - 2>&1 | FileCheck %s
2# REQUIRES: asserts
3
4# Check that instruction mapping stats work.
5
6# We ought to map all of the instructions (5 of them) as legal, and then
7# terminate the string with a single illegal character. Debug instructions are
8# always invisible, and don't contribute to the length of the string.
9
10# CHECK: 1 machine-outliner - Unoutlinable instructions mapped + number of sentinel values
11# CHECK: 1 machine-outliner - Invisible instructions skipped during mapping
12# CHECK: 5 machine-outliner - Outlinable instructions mapped
13# CHECK: 1 machine-outliner - Sentinel values inserted during mapping
14# CHECK: 6 machine-outliner - Total number of instructions mapped and saved to mapping vector
15
16...
17---
18name:            test
19tracksRegLiveness: true
20machineFunctionInfo:
21  hasRedZone:      false
22body:             |
23  bb.0:
24  liveins: $lr
25    $x0 = ORRXri $xzr, 1
26    $x1 = ORRXri $xzr, 1
27    $x2 = ORRXri $xzr, 1
28    DBG_VALUE $x3, $noreg
29    $x3 = ORRXri $xzr, 1
30    RET undef $lr
31