~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/Verifier/gc_relocate_operand.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: not llvm-as -disable-output <%s 2>&1 | FileCheck %s
 
2
; This is to verify that the relocated value by gc_relocate must be a pointer type.
 
3
 
 
4
; CHECK: gc.relocate: relocated value must be a gc pointer
 
5
 
 
6
declare void @foo()
 
7
 
 
8
declare i32 @llvm.experimental.gc.statepoint.p0f_isVoidf(i64, i32, void ()*, i32, i32, ...)
 
9
 
 
10
define void @test1(i64 %obj) gc "statepoint-example" {
 
11
entry:
 
12
  %safepoint_token = call i32 (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()* @foo, i32 0, i32 0, i32 0, i32 0, i64 %obj)
 
13
  %obj.relocated = call coldcc i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(i32 %safepoint_token, i32 7, i32 7) ; (%obj, %obj)
 
14
  ret void
 
15
}
 
16
 
 
17
; Function Attrs: nounwind
 
18
declare i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(i32, i32, i32) #0
 
19
 
 
20
attributes #0 = { nounwind }
 
21