blob: f10c2287e4b172877a24de04f7b373d5c66fa905 [file] [log] [blame]
Alexander Richardson47ff67b2018-08-23 09:25:17 +00001; Verify that forward declarations from call instructions work even with non-zero AS
2; RUN: llvm-as %s -o - | llvm-dis - | FileCheck %s
3
4define void @call_named() {
5entry:
6 %0 = tail call addrspace(40) i32 @named(i16* null)
7 ; CHECK: %0 = tail call addrspace(40) i32 @named(i16* null)
8 ret void
9}
10
11define void @call_numbered() {
12entry:
13 %0 = tail call addrspace(40) i32 @0(i16* null)
14 ; CHECK: %0 = tail call addrspace(40) i32 @0(i16* null)
15 ret void
16}
17
18
19define i32 @invoked() personality i8* null {
20entry:
21 %0 = invoke addrspace(40) i32 @foo() to label %l1 unwind label %lpad
22 ; CHECK: invoke addrspace(40) i32 @foo()
23l1:
24 br label %return
25lpad:
26 %1 = landingpad { i8*, i32 }
27 catch i8* null
28 catch i8* null
29 ret i32 0
30return:
31 ret i32 0
32}
33
34declare i32 @foo() addrspace(40)
35; CHECK: declare i32 @foo() addrspace(40)
36declare i32 @named(i16* nocapture) addrspace(40)
37; CHECK: declare i32 @named(i16* nocapture) addrspace(40)
38declare i32 @0(i16*) addrspace(40)
39; CHECK: declare i32 @0(i16*) addrspace(40)