1; RUN: llc < %s | FileCheck %s
2target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
3target triple = "x86_64-pc-linux-gnu"
4
5declare void @use(<4 x i8*>*)
6
7; Test that a frame which requires dynamic relocation produces a stack map
8; with a size of UINT64_MAX.
9define void @test(i8* %ptr) gc "erlang" {
10   ; 32 byte alignment (for the alloca) is larger than the default
11   ; 16 byte alignment
12   %slot = alloca <4 x i8*>
13   call void @use(<4 x i8*>* %slot);
14   ret void
15}
16
17; CHECK: .note.gc
18; CHECK-NEXT: .align 8
19; safe point count
20; CHECK .short	1
21; CHECK .long	.Ltmp0
22; stack frame size (in words)
23; CHECK .short	-1
24; stack arity (arguments on the stack)
25; CHECK .short	0
26; live root count
27; CHECK .short	0
28
29