mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[AArch64] Add test case where machine outliner breaks up a bundle.
This is a backend test for PR49082.
This commit is contained in:
parent
08a3498f71
commit
cdf4bcbe89
@ -0,0 +1,75 @@
|
||||
# RUN: llc -enable-machine-outliner -start-before=aarch64-expand-pseudo -mtriple=arm64-apple-ios -o - %s | FileCheck %s
|
||||
#
|
||||
# FIXME: The calls to _cb1 & _cb2 should be followed by the marker instruction
|
||||
# 'mov x29, x29'. The marker should not get outlined.
|
||||
#
|
||||
# CHECK-LABEL: _fn1:
|
||||
# CHECK: bb.0:
|
||||
# CHECK: bl _cb1
|
||||
# CHECK-NEXT: bl _OUTLINED_FUNCTION_0
|
||||
#
|
||||
# CHECK-LABEL: _fn2:
|
||||
# CHECK: bb.0:
|
||||
# CHECK: bl _cb2
|
||||
# CHECK-NEXT: bl _OUTLINED_FUNCTION_0
|
||||
#
|
||||
# CHECK-LABEL: _OUTLINED_FUNCTION_0:
|
||||
# CHECK: bb.0:
|
||||
# CHECK-NEXT: mov x29, x29
|
||||
# CHECK-NEXT: orr w12, wzr, #0x3
|
||||
# CHECK-NEXT: orr w12, wzr, #0x3
|
||||
# CHECK-NEXT: orr w12, wzr, #0x3
|
||||
# CHECK-NEXT: ret
|
||||
|
||||
--- |
|
||||
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
|
||||
target triple = "arm64-apple-ios"
|
||||
|
||||
define void @fn1() {
|
||||
ret void
|
||||
}
|
||||
|
||||
define void @fn2() {
|
||||
ret void
|
||||
}
|
||||
|
||||
declare void @cb1()
|
||||
|
||||
declare void @cb2()
|
||||
...
|
||||
---
|
||||
name: fn1
|
||||
tracksRegLiveness: true
|
||||
machineFunctionInfo:
|
||||
hasRedZone: false
|
||||
body: |
|
||||
bb.0:
|
||||
liveins: $lr
|
||||
|
||||
BLR_RVMARKER @cb1, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x0
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$lr = ORRXri $xzr, 1
|
||||
|
||||
RET undef $lr
|
||||
...
|
||||
---
|
||||
name: fn2
|
||||
tracksRegLiveness: true
|
||||
machineFunctionInfo:
|
||||
hasRedZone: false
|
||||
body: |
|
||||
bb.0:
|
||||
liveins: $lr, $x19, $x20, $lr
|
||||
|
||||
BLR_RVMARKER @cb2, csr_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit-def $sp, implicit-def $x0
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$w12 = ORRWri $wzr, 1
|
||||
$lr = ORRXri $xzr, 1
|
||||
|
||||
RET undef $lr
|
||||
...
|
Loading…
Reference in New Issue
Block a user