summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/GC/ocaml-gc.ll
blob: 44241a90d0e7aeda5ab1839ddacdc9e46634bba2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s

define i32 @main(i32 %x) nounwind gc "ocaml" {
; CHECK:        .text
; CHECK-NEXT:   .globl  caml_3C_stdin_3E___code_begin
; CHECK-NEXT: caml_3C_stdin_3E___code_begin:
; CHECK-NEXT:   .data
; CHECK-NEXT:   .globl  caml_3C_stdin_3E___data_begin
; CHECK-NEXT: caml_3C_stdin_3E___data_begin:

  %puts = tail call i32 @foo(i32 %x)
  ret i32 0

; CHECK:        .globl  caml_3C_stdin_3E___code_end
; CHECK-NEXT: caml_3C_stdin_3E___code_end:
; CHECK-NEXT:   .data
; CHECK-NEXT:   .globl  caml_3C_stdin_3E___data_end
; CHECK-NEXT: caml_3C_stdin_3E___data_end:
; CHECK-NEXT:   .quad   0
; CHECK-NEXT:   .globl  caml_3C_stdin_3E___frametable
; CHECK-NEXT: caml_3C_stdin_3E___frametable:
; CHECK-NEXT:   .short  1
; CHECK-NEXT:   .align  8
; CHECK-NEXT:                # live roots for main
; CHECK-NEXT:   .quad   .Ltmp0
; CHECK-NEXT:   .short  8
; CHECK-NEXT:   .short  0
; CHECK-NEXT:   .align  8
}

declare i32 @foo(i32)