blob: 05149b838a556948e1ca82bf37b485bdd56e0861 [file] [edit]
# RUN: llc -mtriple=riscv32-unknown-elf -stats -run-pass=machine-outliner -verify-machineinstrs %s -o /dev/null 2>&1 | FileCheck %s
# REQUIRES: asserts
# Debug instructions between adjacent illegal instructions must not reset the
# mapper's separator state. The two inline assembly instructions therefore map
# to a single separator.
# CHECK: 2 machine-outliner - Unoutlinable instructions mapped + number of sentinel values
--- |
define void @separator_with_debug() { unreachable }
...
---
name: separator_with_debug
tracksRegLiveness: true
body: |
bb.0:
liveins: $x10, $x11, $x12, $x13
$x10 = ADDI $x10, 1
$x11 = ADDI $x11, 2
INLINEASM &"", sideeffect attdialect
DBG_VALUE $x10, $noreg
INLINEASM &"", sideeffect attdialect
$x12 = ADDI $x12, 3
$x13 = ADDI $x13, 4
PseudoRET implicit $x10
...