1// RUN: %clang_cc1 -emit-llvm -o - -triple amdgcn %s | FileCheck %s
2// RUN: %clang_cc1 -emit-llvm -o - -triple amdgcn---opencl %s | FileCheck %s
3// RUN: %clang_cc1 -emit-llvm -o - -triple amdgcn---amdgizcl %s | FileCheck %s -check-prefix=AMDGIZ
4
5struct A {
6  int x[100];
7};
8
9int f(struct A a);
10
11int g() {
12  struct A a;
13  // CHECK: call i32 @f(%struct.A* byval{{.*}}%a)
14  // AMDGIZ: call i32 @f(%struct.A addrspace(5)* byval{{.*}}%a)
15  return f(a);
16}
17
18// CHECK: declare i32 @f(%struct.A* byval{{.*}})
19// AMDGIZ: declare i32 @f(%struct.A addrspace(5)* byval{{.*}})
20