xref: /llvm-project/llvm/test/CodeGen/SystemZ/Large/large-ada-01.py (revision 0aec4d2b78a08f5f3e4b0ad0340a99e486d00110)
1# Test code generation for retrieving function descriptors
2# from the ADA when the ADA is extremely large and forces the
3# generation of a different instruction sequence
4# RUN: %python %s | llc -mtriple=s390x-ibm-zos -O2 | FileCheck %s
5
6# CHECK: llilf	1,{{[0-9]+}}
7# CHECK-NEXT: la	1,0(1,8)
8
9from __future__ import print_function
10
11num_calls = 35000
12
13print("define hidden signext i32 @main() {")
14print("entry:")
15
16for i in range(num_calls):
17    print("  call void @foo%d()" % i)
18
19print("  call void @bar(ptr noundef @foo)")
20print("ret i32 0")
21print("}")
22
23for i in range(num_calls):
24    print("declare void @foo%d(...)" % i)
25
26print("declare void @bar(ptr noundef)")
27print("define internal void @foo() {")
28print("entry:")
29print("  ret void")
30print("  }")
31