summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/AArch64/machine-outliner.ll37
1 files changed, 29 insertions, 8 deletions
diff --git a/llvm/test/CodeGen/AArch64/machine-outliner.ll b/llvm/test/CodeGen/AArch64/machine-outliner.ll
index b5094fe4750..9b6254fb3cc 100644
--- a/llvm/test/CodeGen/AArch64/machine-outliner.ll
+++ b/llvm/test/CodeGen/AArch64/machine-outliner.ll
@@ -1,9 +1,31 @@
-; RUN: llc -enable-machine-outliner -mtriple=aarch64-apple-darwin < %s | FileCheck %s
+; RUN: llc -enable-machine-outliner -mtriple=aarch64-apple-darwin < %s | FileCheck %s -check-prefix=NoODR
+; RUN: llc -enable-machine-outliner -enable-linkonceodr-outlining -mtriple=aarch64-apple-darwin < %s | FileCheck %s -check-prefix=ODR
+
+define linkonce_odr void @fish() #0 {
+ ; CHECK-LABEL: _fish:
+ ; NoODR: orr w8, wzr, #0x1
+ ; NoODR-NEXT: stp w8, wzr, [sp, #8]
+ ; NoODR-NEXT: orr w8, wzr, #0x2
+ ; NoODR-NEXT: str w8, [sp, #4]
+ ; NoODR-NEXT: orr w8, wzr, #0x3
+ ; NoODR-NEXT: str w8, [sp], #16
+ ; NoODR-NEXT: ret
+ ; ODR: b l_OUTLINED_FUNCTION_0
+ %1 = alloca i32, align 4
+ %2 = alloca i32, align 4
+ %3 = alloca i32, align 4
+ %4 = alloca i32, align 4
+ store i32 0, i32* %1, align 4
+ store i32 1, i32* %2, align 4
+ store i32 2, i32* %3, align 4
+ store i32 3, i32* %4, align 4
+ ret void
+}
define void @cat() #0 {
-; CHECK-LABEL: _cat:
-; CHECK: b l_OUTLINED_FUNCTION_0
-; CHECK-NOT: ret
+ ; CHECK-LABEL: _cat:
+ ; CHECK: b l_OUTLINED_FUNCTION_0
+ ; CHECK-NOT: ret
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i32, align 4
@@ -16,9 +38,9 @@ define void @cat() #0 {
}
define void @dog() #0 {
-; CHECK-LABEL: _dog:
-; CHECK: b l_OUTLINED_FUNCTION_0
-; CHECK-NOT: ret
+ ; CHECK-LABEL: _dog:
+ ; CHECK: b l_OUTLINED_FUNCTION_0
+ ; CHECK-NOT: ret
%1 = alloca i32, align 4
%2 = alloca i32, align 4
%3 = alloca i32, align 4
@@ -39,5 +61,4 @@ define void @dog() #0 {
; CHECK-NEXT: str w8, [sp], #16
; CHECK-NEXT: ret
-
attributes #0 = { noredzone nounwind ssp uwtable "no-frame-pointer-elim"="false" "target-cpu"="cyclone" }
OpenPOWER on IntegriCloud