From f0e5bc228cc8528de46dd7fa14c22fddf0578c11 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Thu, 11 Nov 2021 07:55:51 -0800 Subject: [PATCH] microsoft/clc: Add a test for arg metadata Reviewed-by: Karol Herbst Part-of: --- src/microsoft/clc/clc_compiler_test.cpp | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/microsoft/clc/clc_compiler_test.cpp b/src/microsoft/clc/clc_compiler_test.cpp index f5155c96c49..8454541f81b 100644 --- a/src/microsoft/clc/clc_compiler_test.cpp +++ b/src/microsoft/clc/clc_compiler_test.cpp @@ -2311,3 +2311,30 @@ TEST_F(ComputeTest, spec_constant) for (int i = 0; i < inout.size(); ++i) EXPECT_EQ(inout[i], expected[i]); } + +TEST_F(ComputeTest, arg_metadata) +{ + const char *kernel_source = R"( + __kernel void main_test( + __global int *undec_ptr, + __global volatile int *vol_ptr, + __global const int *const_ptr, + __global int *restrict restr_ptr, + __global const int *restrict const_restr_ptr, + __constant int *const_ptr2) + { + })"; + Shader shader = compile({ kernel_source }); + EXPECT_EQ(shader.metadata->kernels[0].args[0].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL); + EXPECT_EQ(shader.metadata->kernels[0].args[0].type_qualifier, 0); + EXPECT_EQ(shader.metadata->kernels[0].args[1].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL); + EXPECT_EQ(shader.metadata->kernels[0].args[1].type_qualifier, CLC_KERNEL_ARG_TYPE_VOLATILE); + EXPECT_EQ(shader.metadata->kernels[0].args[2].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL); + EXPECT_EQ(shader.metadata->kernels[0].args[2].type_qualifier, CLC_KERNEL_ARG_TYPE_CONST); + EXPECT_EQ(shader.metadata->kernels[0].args[3].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL); + EXPECT_EQ(shader.metadata->kernels[0].args[3].type_qualifier, CLC_KERNEL_ARG_TYPE_RESTRICT); + EXPECT_EQ(shader.metadata->kernels[0].args[4].address_qualifier, CLC_KERNEL_ARG_ADDRESS_GLOBAL); + EXPECT_EQ(shader.metadata->kernels[0].args[4].type_qualifier, CLC_KERNEL_ARG_TYPE_RESTRICT | CLC_KERNEL_ARG_TYPE_CONST); + EXPECT_EQ(shader.metadata->kernels[0].args[5].address_qualifier, CLC_KERNEL_ARG_ADDRESS_CONSTANT); + EXPECT_EQ(shader.metadata->kernels[0].args[5].type_qualifier, CLC_KERNEL_ARG_TYPE_CONST); +}