]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/X86/GC/ocaml-gc.ll
Vendor import of llvm RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
[FreeBSD/FreeBSD.git] / test / CodeGen / X86 / GC / ocaml-gc.ll
1 ; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s
2
3 ; CHECK:        .text
4 ; CHECK-NEXT:   .file   "<stdin>"
5
6 define i32 @main(i32 %x) nounwind gc "ocaml" {
7 ; CHECK:   .globl "caml<stdin>__code_begin"
8 ; CHECK-NEXT: "caml<stdin>__code_begin":
9 ; CHECK-NEXT:   .data
10 ; CHECK-NEXT:   .globl  "caml<stdin>__data_begin"
11 ; CHECK-NEXT: "caml<stdin>__data_begin":
12
13   %puts = tail call i32 @foo(i32 %x)
14   ret i32 0
15
16 ; CHECK:        .globl "caml<stdin>__code_end"
17 ; CHECK-NEXT: "caml<stdin>__code_end":
18 ; CHECK-NEXT:   .data
19 ; CHECK-NEXT:   .globl "caml<stdin>__data_end"
20 ; CHECK-NEXT: "caml<stdin>__data_end":
21 ; CHECK-NEXT:   .quad   0
22 ; CHECK-NEXT:   .globl "caml<stdin>__frametable"
23 ; CHECK-NEXT: "caml<stdin>__frametable":
24 ; CHECK-NEXT:   .short  1
25 ; CHECK-NEXT:   .align  8
26 ; CHECK-NEXT:                # live roots for main
27 ; CHECK-NEXT:   .quad   .Ltmp0
28 ; CHECK-NEXT:   .short  8
29 ; CHECK-NEXT:   .short  0
30 ; CHECK-NEXT:   .align  8
31 }
32
33 declare i32 @foo(i32)