[RISCV][VLOPT] Add vector narrowing integer right shift instructions to isSupportedIn...
[llvm-project.git] / llvm / test / CodeGen / AArch64 / machine-outliner-unsafe-stack-call.mir
blob679c9687e66f0390809c7ac88d0e07756e5d3a83
1 # RUN: llc -mtriple=aarch64--- -run-pass=machine-outliner \
2 # RUN: -verify-machineinstrs %s -o - | FileCheck %s
4 # Ensure that we never outline calls into sequences where unsafe stack
5 # instructions are present.
7 --- |
8   define void @foo() #0 { ret void }
9   define void @bar() #0 { ret void }
10   define void @baz() #0 { ret void }
11   define void @f1() #0 { ret void }
12   define void @f2() #0 { ret void }
13   attributes #0 = { minsize noinline noredzone "frame-pointer"="all" }
14 ...
15 ---
17 name:            f1
18 tracksRegLiveness: true
19 body:             |
20   bb.0:
21   liveins: $lr
22     ; CHECK-LABEL: name:            f1
23     ; CHECK: foo
24     ; CHECK-DAG: bar
25     ; CHECK-DAG: baz
26     $lr = ORRXri $xzr, 1
27     BL @foo, implicit-def dead $lr, implicit $sp
28     $x20, $x19 = LDPXi $sp, 63
29     $x20, $x19 = LDPXi $sp, 63
30     $x20, $x19 = LDPXi $sp, 63
31     $x20, $x19 = LDPXi $sp, 63
32   bb.1:
33     BL @bar, implicit-def dead $lr, implicit $sp
34     $x11 = ADDXri $sp, 48, 0;
35     $x12 = ADDXri $sp, 48, 0;
36     $x13 = ADDXri $sp, 48, 0;
37     $x14 = ADDXri $sp, 48, 0;
38   bb.2:
39     BL @baz, implicit-def dead $lr, implicit $sp
40     $x0 = ADDXri $sp, 48, 0;
41     $x1 = ADDXri $sp, 48, 0;
42     RET undef $lr
44 ...
45 ---
47 name:            f2
48 tracksRegLiveness: true
49 body:             |
50   bb.0:
51     liveins: $lr
52     ; CHECK-LABEL: name:            f2
53     ; CHECK: foo
54     ; CHECK-DAG: bar
55     ; CHECK-DAG: baz
56     $lr = ORRXri $xzr, 1
57     BL @foo, implicit-def dead $lr, implicit $sp
58     $x20, $x19 = LDPXi $sp, 63
59     $x20, $x19 = LDPXi $sp, 63
60     $x20, $x19 = LDPXi $sp, 63
61     $x20, $x19 = LDPXi $sp, 63
62   bb.1:
63     BL @bar, implicit-def dead $lr, implicit $sp
64     $x11 = ADDXri $sp, 48, 0;
65     $x12 = ADDXri $sp, 48, 0;
66     $x13 = ADDXri $sp, 48, 0;
67     $x14 = ADDXri $sp, 48, 0;
68   bb.2:
69     BL @baz, implicit-def dead $lr, implicit $sp
70     $x0 = ADDXri $sp, 48, 0;
71     $x1 = ADDXri $sp, 48, 0;
72     RET undef $lr