summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenOpenCL
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2011-03-18 22:38:29 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2011-03-18 22:38:29 +0000
commit599cb8e4302a8718df0309147fdf6f64c3e2172d (patch)
treeabbfa00685e429ec1b610048274196fd98e7da02 /clang/test/CodeGenOpenCL
parentd15609a582a5ec8e6788784c9e1732fa95a1109f (diff)
downloadbcm5719-llvm-599cb8e4302a8718df0309147fdf6f64c3e2172d.tar.gz
bcm5719-llvm-599cb8e4302a8718df0309147fdf6f64c3e2172d.zip
Add support for language-specific address spaces. On top of that,
add support for the OpenCL __private, __local, __constant and __global address spaces, as well as the __read_only, _read_write and __write_only image access specifiers. Patch originally by ARM; language-specific address space support by myself. llvm-svn: 127915
Diffstat (limited to 'clang/test/CodeGenOpenCL')
-rw-r--r--clang/test/CodeGenOpenCL/address-spaces.cl27
1 files changed, 27 insertions, 0 deletions
diff --git a/clang/test/CodeGenOpenCL/address-spaces.cl b/clang/test/CodeGenOpenCL/address-spaces.cl
new file mode 100644
index 00000000000..e030c77d3e0
--- /dev/null
+++ b/clang/test/CodeGenOpenCL/address-spaces.cl
@@ -0,0 +1,27 @@
+// RUN: %clang_cc1 %s -ffake-address-space-map -emit-llvm -o - | FileCheck %s
+
+void f__p(__private int *arg) { }
+// CHECK: i32* nocapture %arg
+
+void f__g(__global int *arg) { }
+// CHECK: i32 addrspace(1)* nocapture %arg
+
+void f__l(__local int *arg) { }
+// CHECK: i32 addrspace(2)* nocapture %arg
+
+void f__c(__constant int *arg) { }
+// CHECK: i32 addrspace(3)* nocapture %arg
+
+
+void fp(private int *arg) { }
+// CHECK: i32* nocapture %arg
+
+void fg(global int *arg) { }
+// CHECK: i32 addrspace(1)* nocapture %arg
+
+void fl(local int *arg) { }
+// CHECK: i32 addrspace(2)* nocapture %arg
+
+void fc(constant int *arg) { }
+// CHECK: i32 addrspace(3)* nocapture %arg
+
OpenPOWER on IntegriCloud