Add a GC plugin for Erlang
[oota-llvm.git] / test / CodeGen / X86 / GC / erlang-gc.ll
1 ; RUN: llc -mtriple=x86_64-linux-gnu < %s | FileCheck %s --check-prefix=CHECK64
2 ; RUN: llc -mtriple=i686-linux-gnu < %s | FileCheck %s --check-prefix=CHECK32
3
4 define i32 @main(i32 %x) nounwind gc "erlang" {
5   %puts = tail call i32 @foo(i32 %x)
6   ret i32 0
7
8 ; CHECK64:      .section  .note.gc,"",@progbits
9 ; CHECK64-NEXT: .align 8
10 ; CHECK64-NEXT: .short 1      # safe point count
11 ; CHECK64-NEXT: .long  .Ltmp0 # safe point address
12 ; CHECK64-NEXT: .short 1      # stack frame size (in words)
13 ; CHECK64-NEXT: .short 0      # stack arity
14 ; CHECK64-NEXT: .short 0      # live root count
15
16 ; CHECK32:      .section  .note.gc,"",@progbits
17 ; CHECK32-NEXT: .align 4
18 ; CHECK32-NEXT: .short 1      # safe point count
19 ; CHECK32-NEXT: .long  .Ltmp0 # safe point address
20 ; CHECK32-NEXT: .short 3      # stack frame size (in words)
21 ; CHECK32-NEXT: .short 0      # stack arity
22 ; CHECK32-NEXT: .short 0      # live root count
23 }
24
25 declare i32 @foo(i32)