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
6 # CHECK: algfi 8,{{[0-9]+}}
9 from __future__
import print_function
13 print("define hidden signext i32 @main() {")
16 for i
in range(num_calls
):
17 print(" call void @foo%d()" % i
)
19 # This is added to force the use of register r8 to generate
20 # la 8, 0(8) which generates the algfi instruction
21 print('%0 = call ptr asm " LGR $0,$1\0A", "=r,{r8}"(ptr nonnull @foo)')
22 print(" call void @bar(ptr noundef %0)")
26 for i
in range(num_calls
):
27 print("declare void @foo%d(...)" % i
)
29 print("declare void @bar(ptr noundef)")
30 print("define internal void @foo() {")