Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / ARM / 2011-06-16-TailCallByVal.ll
blob089df7c2c02292c619bda5ec3a7452a7c253c4b1
1 ; RUN: llc < %s | FileCheck %s
3 ; tail call inside a function where byval argument is splitted between
4 ; registers and stack is currently unsupported.
5 ; XFAIL: *
7 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:32:64-v128:32:128-a0:0:32-n32"
8 target triple = "thumbv7-apple-ios5.0"
10 %struct.A = type <{ i16, i16, i32, i16, i16, i32, i16, [8 x %struct.B], [418 x i8], %struct.C }>
11 %struct.B = type <{ i32, i16, i16 }>
12 %struct.C = type { i16, i32, i16, i16 }
14 ; CHECK: f
15 ; CHECK: push {r1, r2, r3}
16 ; CHECK: add sp, #12
17 ; CHECK: b.w _puts
19 define void @f(ptr %s, ptr nocapture byval(%struct.A) %a) nounwind optsize {
20 entry:
21   %puts = tail call i32 @puts(ptr %s)
22   ret void
25 declare i32 @puts(ptr nocapture) nounwind